Tag: jcombobox

显示JComboBox的不可选默认值

我有一个JComboBox ,其中包含三个项目{“Personel”, “Magasinier”, “Fournisseur”} 。 我希望这个JComboBox显示值”Choisir une option :” ,这是一个不可选择的值。 我在initComponents();之后尝试了这段代码initComponents(); : this.jComboBox1.setSelectedItem(“Choisir une option :”); 但它不起作用。 我怎样才能做到这一点 ?

在Swing中设置JComboBox的背景

我想要一个没有箭头按钮(完成)的JComboBox,它在启用时具有绿色背景,在禁用时具有灰色背景(未完成)。 我还为下拉列表使用了自定义渲染器(完成) 我检查了BasicComboBoxUI的源代码并试图覆盖一些方法,但没有任何反应。 下拉列表始终具有灰色/蓝色背景。 这是我最近一次尝试的SSCCE。 我尝试了所有我能想到的东西。 请给我一个提示,我迷路了。 import java.awt.Color; import java.awt.Component; import java.awt.Graphics; import java.awt.Rectangle; import javax.swing.BorderFactory; import javax.swing.DefaultComboBoxModel; import javax.swing.DefaultListCellRenderer; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JList; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.SwingUtilities; import javax.swing.plaf.basic.BasicComboBoxUI; public class DropDownBackground { public static void main(final String[] args) { SwingUtilities.invokeLater(new Runnable() { public void […]

在JComboBox中使用动画GIF

我正在尝试在JComboBox中使用动画(GIF)图标。 由于DefaultListCellRenderer基于JLabel,因此在将它们放入ComboBoxModel时会直接支持ImageIcons。 但是,这不适用于动画GIF。 在下拉列表中,除非选中它们,否则它们根本不会显示(虽然GIF在常规JLabel中使用时可以正常工作) 填充combobox的代码很简单: ImageIcon[] data = new ImageIcon[4]; data[0] = new ImageIcon(“icon_one.gif”); data[1] = new ImageIcon(“icon_two.gif”); data[2] = new ImageIcon(“icon_three.gif”); data[3] = new ImageIcon(“icon_four.gif”); ComboBoxModel model = new DefaultComboBoxModel(data); setModel(model); icon_one.gif是静态的,显示没有任何问题。 其他的都是动画的。 (图像被正确加载,因为如果我将这些图标中的任何一个直接分配给JLabel,它们就显示得很好) 我还试图使用我自己的基于JPanel的ListCellRenderer(灵感来自这个问题的答案: Java动画GIF而不使用JLabel )。 这样做有点好但不理想。 只有在显示下拉列表时将鼠标移到它们上方才会显示图标。 所以我想这是一个修复问题,虽然我不知道在哪里 这是我的JPanel实现ListCellRenderer接口的部分。 public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { […]

如何在Swing中更新JComboBox实例?

我有3个combobox,在选择第一个combobox后,其余部分应该更新,但我的代码似乎没有工作。 请帮帮这个家伙。 这是我的代码(因为我的代码很长,所以我只写错误部分)。 // example code public class GuiComponents { JComboBox comboBox1, comboBox2, comboBox3; public GuiComponents() { ……… ……… String[] element1 = {“item1”, “item2”, “item3”}; String[] element2 = {“item1”, “item2”, item3}; String[] element3 = {“item1”, “item2”, “item3”}; comboBox1.addItemListener(new ItemListener() { @Override public void itemStateChanged(ItemEvent event) { if(event.getStateChange() == ItemEvent.SELECTED) { // how do I update […]

与色的项目和焦点的色的jcombobox

我正在尝试制作带有彩色物品的彩色下拉列表(请参阅下面的代码)。 combobox失去焦点后,颜色会被应用。 这是正确的行为吗? 当combobox具有焦点时,如何才能使前景和/或背景颜色发生变化? 谢谢 import java.awt.*; import java.awt.event.*; import java.util.*; import javax.swing.*; import javax.swing.border.*; public class DropDown { enum Colors { red(Color.red), orange(Color.orange), green(Color.green), yellow(Color.yellow), blue(Color.blue); Colors(Color color) { this.color = color; } static String[] listModel() { java.util.List values = Arrays.asList(values()); String s = values.toString().replaceAll(” “, “”); return s.substring(1, s.length() – 1).split(“,”); } final […]

选择combobox上的项目时执行操作

我有一个包含item1和item2的jcombobox,我也有一个jtextfield ..当我在我的jcombobox上选择item1时我希望30出现在我的jtextfield上,而如果选择了Item2则为40 …我该怎么做?

如何按值设置选定的索引JComboBox

我想通过值而不是索引在JComboBox中设置所选索引。 怎么做? 例 public class ComboItem { private String value; private String label; public ComboItem(String value, String label) { this.value = value; this.label = label; } public String getValue() { return this.value; } public String getLabel() { return this.label; } @Override public String toString() { return label; } } JComboBox test = new JComboBox(); test.addItem(new […]

如何知道可编辑JComboBox的文本何时更改?

我有一个可编辑的 JComboBox,我希望在文本更改时通过键入或选择来执行某些操作。 在这种情况下,文本是一种模式,我想validation模式是否有效并显示导致某些测试数据的匹配。 完成了显而易见的事情后,附上一个ActionHandler,我发现,对于打字,事件似乎不可靠,最好(选择很好)。 当它因键入而触发时,检索到的文本(使用getEditor()。getItem(),因为getSelectedItem()只获取从列表中选择的文本)似乎是文本,因为它是最后一个事件被触发 – 也就是说,它始终缺少在触发动作事件之前立即输入的字符。 我预计动作事件会在一段短暂的延迟(500毫秒到1秒)后触发,但它似乎会立即触发(如果它被触发)。 我能想到的唯一可行的替代方案是简单地在焦点获得时启动1秒计时器,在焦点丢失时杀死它,并在内容与上次不同时执行计时器操作。 有什么想法或建议吗? 代码片段不是特别有趣: find.addActionListener(this); … public void actionPerformed(ActionEvent evt) { System.out.println(“Find: “+find.getEditor().getItem()); }

使用Java GUI从SQLite中的表返回列名

我需要从表中获取列名,唯一的区别是我创建了一个函数,根据txtbox中的用户条目创建新列。 因此,例如,如果用户输入“3”,则列将被命名为“Sezonalni_utjecaj_3”。 现在,当你看到那个例子时,我需要创建一个返回列名的查询,这样我就可以将它们放在我的combobox中,所以每当我输入一个新列时,列的名称就会放在combobox内(列名有一些东西)共同的,那就是“Sezonalni_utjecaj_”,但我也有其他专栏,不仅仅是名字里面有“Sezonalni_utjecaj_”,但我不需要他们的名字。 我的界面: 当我按“确定”时,这是它背后的代码: btnOk_2 = new JButton(“Ok”); btnOk_2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { try { String kolumna=(String)textField.getText(); String upit=”alter table Linearni_trend_s_sezonalnim_utjecajem add column ‘Sezonalni_utjecaj_”+kolumna+”‘ float;”; PreparedStatement pst1 = konekcija.prepareStatement(upit); pst1.execute(); pst1.close(); } catch (SQLException e) { e.printStackTrace(); }

使用JComboBox作为搜索框

我使用JComboBox从sql数据库中搜索查询。 这是我的代码。 private void srKeyTyped(java.awt.event.KeyEvent evt){ sr.removeAllItems(); String sch = ((JTextField)sr.getEditor().getEditorComponent()).getText(); String schh = “SELECT * FROM tbl WHERE name LIKE ‘” + sch + “%’;”; search = conn.getQuery(schh); try { while (search.next()) { String item = search.getString(“name”); sr.addItem(item); } } catch (SQLException ex) { Logger.getLogger(dataprocess.class.getName()).log(Level.SEVERE, null, ex); } sr.setSelectedItem(null); sr.setPopupVisible(true); System.out.println(sch); } sr = […]