作者jimmyoic (jimmyoic)
看板java
標題[問題] JAVA refference
時間Sat Jan 5 15:46:16 2013
小弟想把jFrame裡的變數給底下的class 用
public class MainFrame extends JFrame {
String choosedYear = new String();
.
.
.
.
..
.
JComboBox y2012 = new JComboBox(Strings);
y2012.addItemListener(new YearComboBoxListener(choosedYear));
.
.
.
}
在LISTENER裡
public class YearComboBoxListener implements ItemListener{
String ChoosedYear ;
YearComboBoxListener( String ChoosedYear){
this.ChoosedYear = ChoosedYear;
}
@Override
public void itemStateChanged(ItemEvent e) {
if(e.getStateChange() == ItemEvent.SELECTED){
ChoosedYear = "" + (String)e.getItem();
}
}
}
LISTENR 裡的ChoosedYear 在換過combobox的選項以後確實會改變
我用system.out.println確認過
但main裡的choosedYear卻無法跟著改變
同一個main裡的另外一個變數也有用到一樣的方法
可是就不會有這種情況
想請教一下我是不是有什麼地方漏掉了呢
感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 106.1.93.229
→ awert:#1FYGhKYx 請看看這篇的解釋,情境雖不同,但觀念一樣 01/05 16:46
→ jimmyoic:OK 感謝你 我剛把變數包到CLASS裡就OK了 01/05 16:58
→ awert:其實連傳進listener都不需要, listener直接reference就好 01/05 19:01