作者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
1F:推 PsMonkey:e.getSource() 去跟阵列作比对.. 不用 .getClass() 05/02 22:44
2F:推 zeat:我的习惯是额外setName, 在getName比较@@ 05/02 23:43
3F:推 Sangox:在new每个button时,利用setActionCommand()把阵列位置存入 05/03 01:51
4F:→ Sangox:这样e.getActionCommand()时就可知是谁被触发了,给你参考 05/03 01:53
5F:推 sbrhsieh:e.getSource() 得到的就是被 click 的 JButton 物件 05/03 15:03
6F:推 neigence:((JButton)(e.getSource())).setBackground(Color.RED) 05/04 14:46
7F:→ bil193:谢谢你们 05/08 17:47