我试图建立一个有很多按钮(JButton)/下拉项(JMenuItem)的GUI,当每个包含字母的按钮被按下时,相关的字母被添加到标签。
我无法确定哪个按钮被按下了。你能给我点建议,告诉我该怎么做吗?
代码:
private void dodajCrko(java.awt.event.ActionEvent evt) {
jlStatus.setText(jlStatus.getText() + evt.getSource()/* what to add here?*/);
}
我会使用getActionCommand()方法:
private void dodajCrko(java.awt.event.ActionEvent evt) {
jlStatus.setText(jlStatus.getText() + actionEvent.getActionCommand());
}
我想你需要这个
((Button)actionEvent.getSource()).getLabel()
这将为您提供所单击按钮的标签。您需要键入将Source
转换为Button
,如(Button)actionEvent.getSource()
private void dodajCrko(java.awt.event.ActionEvent evt) {
jlStatus.setText(jlStatus.getText() +
((Button)actionEvent.getSource()).getLabel());
}
正如@Anto所说,如果你使用任何切换按钮,你应该使用actionEvent.getActionCommand()
,因为命令字符串将识别预期的操作
我觉得这个效果更好。
private JButton button1;
那就用这个
button1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.out.println("Button 1 was presseed");
}
});
希望这对你有帮助,Luke