[問題] JAVA refference

看板java作者 (jimmyoic)時間13年前 (2013/01/05 15:46), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串1/1
小弟想把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

01/05 16:46, , 1F
#1FYGhKYx 請看看這篇的解釋,情境雖不同,但觀念一樣
01/05 16:46, 1F

01/05 16:58, , 2F
OK 感謝你 我剛把變數包到CLASS裡就OK了
01/05 16:58, 2F

01/05 19:01, , 3F
其實連傳進listener都不需要, listener直接reference就好
01/05 19:01, 3F
文章代碼(AID): #1GvzfBAm (java)