我有一个代表图片的 JButtons HashMap。
this.nahledy.put(s.getName(), new JButton());
this.nahledy.get(s.getName()).addActionListener();
但我不知道如何告诉 actionlistener 按下了哪个按钮,因为 e.getActioncommand() 什么都没有,并且当用户按下按钮时 s.getName() 已经改变,所以我也不能使用它。
我有一个代表图片的 JButtons HashMap。
this.nahledy.put(s.getName(), new JButton());
this.nahledy.get(s.getName()).addActionListener();
但我不知道如何告诉 actionlistener 按下了哪个按钮,因为 e.getActioncommand() 什么都没有,并且当用户按下按钮时 s.getName() 已经改变,所以我也不能使用它。
它并不完美,但也许你可以使用这样的东西
public void actionPerformed(ActionEvent e) {
JButton source = (JButton)e.getSource();
Set<String> keys = nahledy.keySet();
for(String key : keys) {
if(nahledy.get(key).equals(source)) {
// do something with your button
}
}
}
通过这种方式,您可以找出用于此按钮的 s.getName() 的值。