作者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
1F:→ awert:#1FYGhKYx 请看看这篇的解释,情境虽不同,但观念一样 01/05 16:46
2F:→ jimmyoic:OK 感谢你 我刚把变数包到CLASS里就OK了 01/05 16:58
3F:→ awert:其实连传进listener都不需要, listener直接reference就好 01/05 19:01