Action Listener Hatası
-
Eclipse de JFrame' ler ile çalışırken. Oluşturduğum comboBox dan seçilenleri yönlendirmek için actionPerformed yaptığımda
şu hatayı aldım:
cannot refer to a non-final variable inside an inner class defined in a different method
JComboBox comboBox = new JComboBox();
comboBox.setModel(new DefaultComboBoxModel(new String[] {"", "Add DVD", "List DVDs"}));
comboBox.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
HATA->>if(comboBox().getSelectedItem() == "AddDVD"){
}}});
-
if(comboboxadin.select... şekelinde düzetlmen gerekir. combobox isin neyse onu yaz () yaptığında metod/fonksiyon anlaına gelir
-
orayı yanlış yazmışım hocam, comboBox.getSelectedItem() yapmıştım da "hata final JComboBox comboBox" diye tanımlamadığım içinmiş. Ama neden final olması gerektiğini anlayamadım
-
androidden hatırladığım kdarıyla final kullanmak zorundasın, çünkü yazdıın listener da comboboxa ulaşmaya çalışıyorsun. bunun için final anahtar kelimesini yazman gerekiyor. eğer bir metod içinden ulaşmasaydın gerek olmazdı yani listener dan comboboxa ulaşmasaydın final tanımlamana gerek olmazdı
-
Anladım hocam, teşekkür ederim
