在java中的组合框上添加项目运行时
我在 Swing 中创建了一个 comboBox,我想在另一个函数中添加项目.但问题是调用该函数后项目不显示:
I have created a comboBox in Swing and I want to add items on it in another function. But the problem is that items are not displaying after calling that function:
public void addItems()
{
combo.addItem("");
// i want to add items here when this function is being called
// but those items are not displaying after calling this function
// i m calling this function on button click
}
推荐答案
在这个 SSCCE 中为我工作:
Works for me in this SSCCE:
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import javax.swing.UnsupportedLookAndFeelException;
public class TestComboBox {
private int count = 0;
protected void initUI() {
final JFrame frame = new JFrame(TestComboBox.class.getSimpleName());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JComboBox comboBox = new JComboBox(new Object[] { "Something", "Stuff", "Beep" });
JButton add = new JButton("Add item");
add.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
comboBox.addItem("Item-" + count++);
}
});
frame.add(comboBox);
frame.add(add, BorderLayout.SOUTH);
frame.pack();
frame.setBounds(50, 50, 300, frame.getHeight());
frame.setVisible(true);
}
public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException,
UnsupportedLookAndFeelException {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new TestComboBox().initUI();
}
});
}
}
相关文章