Tag: jcombobox

JCombobox – 仅在值更改时执行actionlistener

我有一个JComboBox ,我有一个监听器附加到它。 现在,每当用户从下拉列表中“选择”事件时,即使他们刚刚重新选择之前选择的值,也会触发事件。 如果combobox的选定值与选择之前的值不同,有没有办法只触发事件? 我想我可以将combobox的值存储在不同的字段中,并在每次事件触发时对它进行比较,这看起来有点矫枉过正。 我有20个左右这样的combobox。 我宁愿不再有20个变量来存储值,所以事件不会触发。 一定有更好的方法。 谢谢您的帮助!

如何让combobox的列表更宽广?

import javax.swing.*; public class test { public static void main(String[] args) throws Exception { JFrame frame = new JFrame(“Test”); frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); frame.setSize(120,80); JComboBox cb = new JComboBox(); cb.addItem(“A very long combo-box item that doesn’t fit no. 1”); cb.addItem(“A very long combo-box item that doesn’t fit no. 2”); frame.add(cb); frame.validate(); frame.setVisible(true); } } 如何使combobox项目以其所有文本可见的方式显示? 现在我有这样的事情: 我不想在折叠时更改combobox的大小。 我只是想增加扩展部分的宽度。

填充JComboBox的正确方法是什么?

我目前正在Eclipse上用Java构建一个应用程序作为编程基础和基本java编程的自助指南,这纯粹是教育性的,其唯一目的是能够轻松地引用主题并练习我的编程,因为我通过编程来学习它们进入本教程应用程序。 随着时间的推移,应用程序的内容将随着我学习更多编程组件而扩展。 所以我的第一个问题归结为正确的forms。 我正在使用下拉框( JComboBox ),以便从GUI中选择特定主题。 我想填写列表并保持程序干净整洁。 所以我的问题是如何填充JComboBox以限制混乱的代码。 也许是一个文本文件,我可以从中单独添加主题并更有效地编辑? 我正在完成正确的编程程序,而不是我能做到的所有方法。 我知道我可以使用ArrayList ,但我很想理解在使用大量内容时所做的选择,而不是很少。 谢谢, 西蒙

JTable中的JComboBox

我在JTable的第3和第4列中有一个JComboBox,但我不知道如何获取它的项目…问题不是获取项目的方法,而是演员表 JComboBox combo=(JComboBox) jTable1.getColumnModel().getColumn(3).getCellEditor(); 你能帮我吗?

使用JComboBox的Swing BoxLayout问题而不使用setXXXSize

这是一个SSCCE: import java.awt.Color; import java.awt.Dimension; import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JPanel; public class BoxLayoutTest extends JFrame { public BoxLayoutTest(){ JPanel main = new JPanel(); main.setLayout(new BoxLayout(main, BoxLayout.Y_AXIS)); main.setBackground(Color.red); this.add(main); JPanel northPanel = new JPanel(); JPanel middle = new JPanel(); middle.setLayout(new BoxLayout(middle, BoxLayout.X_AXIS)); middle.add(new JButton(“FOO”)); middle.add(Box.createHorizontalGlue()); JPanel aPanel = new […]

如何检测JComboBox是否为空?

如何检测JComboBox是否为空? 是这样的: combobox.isEmpty()

如何从ArrayList更新JComboBox内容?

我有基于ArrayList的JComboBox: private ArrayList klienci = new ArrayList(); private JComboBox klienciLista; 我在构造函数中添加它: klienciLista = new JComboBox(klienci.toArray()); klienciLista.setPrototypeDisplayValue(“#############################”); panel.add(klienciLista); //JPanel panel 在开始时列表为空。 客户端通过线程中的socket new ArrayList获取: public void run() { try { host = InetAddress.getLocalHost().getHostName(); socket = new Socket(host, SERVER_PORT); input = new ObjectInputStream(socket.getInputStream()); output = new ObjectOutputStream(socket.getOutputStream()); output.writeObject(nazwa); } catch (IOException e) { System.out.println(e); JOptionPane.showMessageDialog(null, “Polaczenie sieciowe […]

如何获得用可编辑的JComboBox编写的值?

我一直在搜索,似乎每个人都只使用JComboBox#getSelectedItem 。 但我的combobox是可编辑的 ,用户可以输入任何内容 。 getSelectedItem方法返回combobox中的一个实际项,而不是在字段中输入的字符串。 如果我的盒子包含“Bar”和“Item”并且用户输入“Foo”,我想得到“Foo”! 为什么getSelectedItem不起作用 有人指出getSelectedItem也会返回输入的字符串。 但是没有指出,这仅在用户停止编辑字段后才有效。 我附上了这些事件监听器: Component[] comps = input.getComponents(); //Third is the text field component comps[2].addKeyListener(new KeyListener() { public void keyTyped(KeyEvent e) { doSomething(); } }); //Also fire event after user leaves the field input.addActionListener (new ActionListener () { @Override public void actionPerformed(ActionEvent e) { doSomething(); } }); 这就是结果: […]

Java ComboBox与名称的不同值

我有一个Javacombobox和一个链接到SQLite数据库的项目。 如果我有一个带有相关ID和名称的对象: class Employee { public String name; public int id; } 将这些条目放入JComboBox的最佳方法是什么,以便用户看到员工的姓名,但是当我这样做时我可以检索employeeID: selEmployee.getSelectedItem(); 谢谢

Java:使jcombobox中的一个项目不可选(如子标题)并编辑该项目的字体

如何使combobox中的一个项目无法选择,因为我需要将combobox中的项目与子主题分开 。 是否可以单独修改该特定项目的字体? jComboBox_btech_course.setFont(new java.awt.Font(“Tahoma”, 0, 14)); jComboBox_btech_course.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “Select Course” })); jComboBox_btech_course.setName(“”); private class theHandler implements ActionListener { public void actionPerformed(ActionEvent evt) { //BTech courses if(jComboBox_mtech_dept.getSelectedItem().equals(“Civil Engineering”)) { jComboBox_btech_course.removeAllItems(); jComboBox_btech_course.addItem(“Building Construction”); jComboBox_btech_course.addItem(“Principle And Practice”); jComboBox_btech_course.addItem(“Surveying”); jComboBox_btech_course.addItem(“Engineering Geology”); jComboBox_btech_course.addItem(“Structural Analysis”); jComboBox_btech_course.addItem(“Hydraulic Engineering”); jComboBox_btech_course.addItem(“Environmental Engineering”); jComboBox_btech_course.addItem(“Structural Design”); jComboBox_btech_course.addItem(“Geotechnical Engineering”); /*This item has to be […]