Tag: jcombobox

如何更改JComboBox弹出部分的边框?

我不想改变JComboBox的弹出/选择部分的边框。 请注意,UI是BasicComboBoxUI 我试过了: weaponCB.setRenderer(new DefaultListCellRenderer() { @Override public void paint(Graphics g) { setBorder(whiteBorder) //whiteBorder is a white border super.paint(g); } }); 但它给了我这个: 和: for (int i=0; i<weaponCB.getComponentCount(); i++) { if (weaponCB.getComponent(i) instanceof AbstractButton) { ((AbstractButton)weaponCB.getComponent(i)).setBorder(whiteBorder); } } 但它给了我这个: 我不想是这样的:(它是在photoshop中完成的) 我不介意它是不是完全相同,我只是不相似。 有没有人对如何做到这一点有任何想法?

如何计算两个整数值的结果,但从java中的jComboBox获取加法或乘法运算符

假设我有整数变量a,b和c。 c = a + b; or c = a – b; or c = a / b; or c = a * b; 如您所见,计算运算符需要在运行时动态传递。 所以我有一个jComboBox的运算符,所以用户将从jcomboBox中选择+, – ,*或/。 我如何获得jCombobox selectedItem(将是/,*, – 或+)并使用它来获取c的值。 例如。 如果用户选择*,那么表达式应该是c = a * b else如果用户选择了说+,那么表达式应该是c = a + b 。

每次JComboBox更改时如何更新JLabel?

我有一个JComboBox有12个不同的选择,根据选择的内容,我希望问题(JLabel)更改匹配选择。 我已经尝试了if语句来查看所选内容以及它是否与应该选择的内容相匹配,然后问题会相应地更改,但JLabel在某种情况下从未真正改变过。 码 import java.awt.*; import java.awt.event.*; import java.awt.image.BufferedImage; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.*; public class Window extends JFrame{ private static final long serialVersionUID = 1L; public Window(){ super(“Area Finder v1.0”); BufferedImage image = null; try { image = ImageIO.read(getClass().getClassLoader().getResource(“images/areafinder.png”)); } catch (IOException e) { e.printStackTrace(); } super.setIconImage(image); setSize(400, 500); setLocationRelativeTo(null); setDefaultCloseOperation(EXIT_ON_CLOSE); JPanel panel […]

从JComboBox获取输入值

如何获取可编辑JComboBox的输入。 当用户给组合输入时我如何从中获取输入文本?

在两个JComboBox之间共享相同的模型

我有一个有三个人的人[] (p1,p2,p3)。 Person类有两个属性name和email 。 我想在一个JComboBox中添加Person []的所有名称,在另一个JComboBox中添加所有电子邮件。 我使用了以下代码。 Person p1 = new Person(“Smith”, “smith@mail.com”); Person p2 = new Person(“Tom”, “tom@gmail.com”); Person p3 = new Person(“John”,”john@mail.com”); Person[] per_arr = new Person[] { p1, p2, p3}; JFrame frame = new JFrame(); JPanel panel = new JPanel(); JComboBox combo1 = new JComboBox(); JComboBox combo2 = new JComboBox(); for (Person […]

如何在java swing中对jComboBox元素进行排序?

如何将jComboBox元素列表排序为排序列表。 JComboBox box=new JComboBox(); box.addItem(“abc”); box.addItem(“zzz”); box.addItem(“ccc”); add(box); 我使用了很多jComboBox组件,但它不起作用。 如何将此列表按升序排序?

如果我在可见时添加项目,则不会调整JComboBox弹出窗口的大小

我有一个JComboBox弹出窗口的问题。 我的JComboBox有一个自动完成实现,如谷歌搜索框。 所以,问题是如果我在弹出窗口可见时添加或删除项目它没有resize,我需要关闭并重新打开它。 但是这个火爆的弹出成为隐形和弹出的结果,因此我无法将这个事件用于我真正的porpouse。 有一种方法可以根据其中包含的项目数量“刷新”弹出窗口大小,而不关闭并重新打开它? 谢谢。

禁用单个JComboBox项

这是一个相当普遍的问题,我使用的解决方案类似于我之后搜索和发现的解决方案。 一个实现带有JLabel的ListCellRenderer ,它根据当前选定的索引启用或禁用自身: public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { setText(value.toString()); UIDefaults defaults = UIManager.getDefaults(); Color fc; if (index == 1) { setEnabled(false); fc = defaults.getColor(“Label.disabledForeground”); setFocusable(false); } else { // fc = defaults.getColor(“Label.foreground”); fc = list.getForeground(); setEnabled(list.isEnabled()); setFocusable(true); } setForeground(fc); setBackground(isSelected ? list.getSelectionBackground() : list .getBackground()); return this; […]

如何配置JComboBox在创建时不选择FIRST元素?

问题: 更新: 从Java SE 6 API: public JComboBox()使用默认数据模型创建JComboBox。 默认数据模型是一个空的对象列表。 使用addItem添加项目。 默认情况下,数据模型中的第一项将被选中。 所以我改为JComboBox(模型),因为API说: public JComboBox(ComboBoxModel aModel)创建一个JComboBox,从现有的ComboBoxModel获取其项目。 由于提供了ComboBoxModel,使用此构造函数创建的combobox不会创建默认的combobox模型,并且可能会影响插入,移除和添加方法的行为方式。 我尝试了以下方法: DefaultComboBoxModel model = new DefaultComboBoxModel(); model.setSelectedItem(null); suggestionComboBox = new JComboBox(model); suggestionComboBox.setModel(model); 但无法让它工作,第一个项目仍然被选中。 任何能够提出工作实例的人都会非常感激。 post的老部分: 我正在使用JComboBox,并尝试在我的代码中使用setSelectionIndex(-1) (此代码放在caretInvoke() ) suggestionComboBox.removeAllItems(); for (int i = 0; i < suggestions.length; i++) { suggestionComboBox.addItem(suggestions[i]); } suggestionComboBox.setSelectedIndex(-1); suggestionComboBox.setEnabled(true); 这是添加到窗格时的初始设置: suggestionComboBox = new JComboBox(); suggestionComboBox.setEditable(false); […]

将JComboBox添加到JTable单元格

可能重复: 如何将JComboBox添加到JTable单元格? 我发现很难将JComboBox到JTable其中一个单元格中,我尝试了下面的代码,但它不起作用.. 如何将jcombobox添加到特定单元格? 按下enter应自动将新的jcombobox添加到所需的列中。 jTable1 = new javax.swing.JTable(); mod=new DefaultTableModel(); mod.addColumn(“No”); mod.addColumn(“Item ID”); mod.addColumn(“Units”); mod.addColumn(“Amount”); mod.addColumn(“UOM”); mod.addColumn(“Delivery Date”); mod.addColumn(“Total Amount”); mod.addColumn(“Notes”); mod.addColumn(“Received”); mod.addRow(new Object [][] { {1, null, null, null, null, null, null, null, null} }); jTable1.setModel(mod); jTable1.getColumnModel().getColumn(1).setCellEditor(new DefaultCellEditor(generateBox())); jTable1.setColumnSelectionAllowed(true); Code to generate ComboBox private JComboBox generateBox() { JComboBox bx=null; Connection con=CPool.getConnection(); try { […]