作者bil193 (丁丁)
看板java
標題[問題] 物件陣列的某個物件當參數傳入事件後,怎麼讀到它的index?
時間Sat May 2 22:35:02 2009
標題可能說得有點拗口
我宣告一個JButton的陣列,bb[0],bb[1],bb[2]...
全部都new完之後,
註冊bb[0] 即 bb[0].addActionListener(new bbHandler());
按下bb[0]這個Button後,就會傳一個物件給e
public class bbHandler implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
//請問怎麼由e這個物件,去執行bb[0].setBackground(Color.red);呢
}
}
查資料只查到用e.getSource().getClass(),
這樣會傳回「class javax.swing.JButton」。請問該怎麼使用到JButton裡的函數呢?
(API上的getMethod()看不懂@@)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.6.13.94
推 PsMonkey:e.getSource() 去跟陣列作比對.. 不用 .getClass() 05/02 22:44
推 zeat:我的習慣是額外setName, 在getName比較@@ 05/02 23:43
推 Sangox:在new每個button時,利用setActionCommand()把陣列位置存入 05/03 01:51
→ Sangox:這樣e.getActionCommand()時就可知是誰被觸發了,給你參考 05/03 01:53
推 sbrhsieh:e.getSource() 得到的就是被 click 的 JButton 物件 05/03 15:03
推 neigence:((JButton)(e.getSource())).setBackground(Color.RED) 05/04 14:46
→ bil193:謝謝你們 05/08 17:47