0
我想添加一個ActionListener到我的組合框。我想在從框中選擇一個項目時打開一個表單。我成功地在JButton上實現它,但我無法弄清楚如何在組合框中執行它。有人可以幫我嗎?與ActionListener和if語句的組合框
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();
}
});
我wan't當選擇第一項要執行的代碼是這一個:
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,並將其添加到按鈕中,它應該可以工作。 – 2015-04-05 07:37:37
我投票結束這個問題作爲題外話,因爲這個問題已在官方教程中介紹 - [如何使用組合框:在組合框中處理事件](https://docs.oracle.com/javase/教程/ uiswing /組件/ combobox.html#聽衆) – 2015-04-05 07:38:04