我一直在itemStateChanged部分有問題。當我編譯程序時,我得到「無法找到變量」的錯誤,我似乎無法找出我做錯了什麼地方。任何幫助深表感謝。謝謝。Implementing ItemListener
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Postcode extends JFrame implements ItemListener {
public static void main(String[] arg) {
JFrame fr = new JFrame("Melaka Postcode");
fr.setSize(240, 125);
fr.setVisible(true);
fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public Postcode() {
String[] code = {"75450", "77000", "78000"};
JLabel lb1 = new JLabel("Postcode");
JLabel lb2 = new JLabel("District?");
JPanel p1 = new JPanel();
JPanel p2 = new JPanel();
JComboBox cb = new JComboBox(code);
cb.addItemListener(this);
Font f = new Font("Verdana", Font.BOLD, 14);
lb2.setFont(f);
p1.add(lb1);
p1.add(cb);
p2.add(lb2);
}
public void itemStateChanged(ItemEvent e) {
if (code.getSelectedItem().equals("75450")) {
lb2.setText = "Bukit Beruang";
}
if (code.getSelectedItem().equals("77000")) {
lb2.setText = "Jasin";
}
if (code.getSelectedItem().equals("75450")) {
lb2.setText = "Alor Gajah";
}
}
}
我不認爲Java將只是說「無法找到變量」沒有點變量缺失,請整個堆棧跟蹤或錯誤線?在ItemStateChanged中,'code'沒有在本地範圍內聲明,使它成爲你的類的一個屬性,並且使用'this.code來代替' – dbf