【发布时间】:2015-04-05 07:30:23
【问题描述】:
我正在尝试向我的 ComboBox 添加一个 ActionListener。当从框中选择一个项目时,我想打开一个表单。我在 JButton 上成功实现了它,但我不知道如何在组合框中执行它。有人可以帮帮我吗?
JComboBox<String> valBox = new JComboBox<>();
valBox.addItem("Apparat");
valBox.addItem("Smycke");
valBox.addItem("Aktie");
södra.add(valBox);
valBox.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (valBox.getSelectedIndex() == 0)
nyLyss.ApparatForm.form1();
}
});
选择第一项时我不想执行的代码是这个:
class nyLyss implements ActionListener{
public void actionPerformed(ActionEvent ae) {
try{
ApparatForm form1 = new ApparatForm();
int svar = JOptionPane.showConfirmDialog(Layout.this, form1);
if(svar != JOptionPane.OK_OPTION)
return;
String namn = form1.getNamn();
int inköpspris = form1.getPris();
int slitage = form1.getPris();
// saker ap = new saker(namn, inköpspris, slitage);
// alla.add(ap);
}catch(NumberFormatException e){
JOptionPane.showMessageDialog(Layout.this, "Felaktig indata!");
}
}
}
谢谢! :)
【问题讨论】:
-
我在 JButton 上成功实现了它:然后将与您添加到按钮的 ActionListener 完全相同的 ActionListener 添加到组合框中,它应该可以工作。
-
我投票决定将此问题作为题外话结束,因为官方教程中涵盖了这个问题 - How to Use Combo Boxes: Handling Events on a Combo Box