java获取按钮名_java – 从ActionListener获取按钮名称?

在地图中保留按钮的参考

String letters[] = {"0", "a", "b", "c", "d", "e", "f"};

JButton btn;

int count = 0;

HashMap buttonCache = new HashMap();

for (int f=1; f < 7;f++){

for (int i=1; i < 7;i++){

btn = new JButton(letters[f]+i, cup);

mainGameWindow.add(btn[i]);

btn.addActionListener(this);

String stringCommand = Integer.toString(randomArrayNum());

btn.setActionCommand(stringCommand);

buttonMap.put(stringCommand,btn);

count++;

if(count == 18){

generateArray();

}

}

}

然后,在ActionListener中,从命令中获取按钮:

public void actionPerformed(ActionEvent e) {

String command = ((JButton) e.getSource()).getActionCommand();

JButton button = buttonCache.get(command);

if (null != button) {

// do something with the button

}

}

编辑

五年后重新回答这个答案,我不知道为什么我建议使用HashMap:P

这段代码完全相同,没有第三方地图:

String letters[] = {"0", "a", "b", "c", "d", "e", "f"};

int count = 0;

for (int f=1; f < 7;f++){

for (int i=1; i < 7;i++) {

String stringCommand = Integer.toString(randomArrayNum());

Button btn = new JButton(letters[f]+i, cup);

btn.setActionCommand(stringCommand);

btn.addActionListener(this);

mainGameWindow.add(btn[i]);

// NOTE : I have no idea what this is for...

count++;

if(count == 18){

generateArray();

}

}

}

在ActionListener中……

public void actionPerformed(ActionEvent e) {

JButton button = (JButton) e.getSource();

String command = button.getActionCommand();

// do something with the button

// the command may help identifying the button...

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值