我想要做的是只要按下“删除”按钮,它就会删除我在JComboBox中选择的项目。所以一旦我删除所有的项目,我有另一个名为“重置”的按钮,其中所有已删除的项目将再次在JComboBox中,并且有可能有一个恢复方法,而不必重新添加每个模型,导致我的实际的程序有很多模型Java重新添加已从JComboBox中删除的项目
这是我所尝试过的,但它不工作任何建议如何做到这一点?
public class Testing{
JFrame frame;
JPanel panel;
JButton remove,reset;
JComboBox box;
final DefaultComboBoxModel items = new DefaultComboBoxModel(new String[]
{
"-","Database System","Computer Fundamentals",
"Computer Maths","Internet Web Tech","Tertiary English 1"
});
public void display()
{
frame = new JFrame();
panel = new JPanel();
box = new JComboBox();
box.setModel(items);
remove = new JButton("Remove");
reset = new JButton("Reset");
remove.addActionListener((ActionEvent e)->{
box.removeItem(box.getSelectedItem());
});
reset.addActionListener((ActionEvent e)->{
System.out.println("Reset");
box.setModel(items);
box.revalidate();
box.repaint();
});
panel.revalidate();
panel.repaint();
panel.add(box);
panel.add(remove);
panel.add(reset);
frame.add(panel);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300,300);
}
public static void main(String[] args)
{
TestingProgram te = new TestingProgram();
te.display();
}
}
加复位的ActionListener内打印语句,以确保它的实际发射 –
是的,我且将其被解雇 –