JPanel btns = new JPanel();
btns.add(new JButton("btn1"));
btns.add(new JButton("btn2"));
btns.setLayout((new FlowLayout(FlowLayout.TRAILING)));
southPanel.add(btns);
你好,上面,我提供了代码。如何将actionPerformed方法设置为某个按钮。例如,当我单击btn1时,它将打印出单击按钮1。当我点击btn2时,它会打印出来点击按钮2。
感谢。
答案 0 :(得分:0)
为按钮创建对象实例..
JButton button1 = new JButton("btn1");
JButton button1 = new JButton("btn1");
然后将它们添加到面板
btns.add(button1 );
btns.add(button2 );
将一个动作命令添加到按钮:
button1.setActionCommand("button1");
button2.setActionCommand("button2");\
创建一个实现ActionListener
private class Controller implements ActionListener
在actionPerformed中获取actionCommand并使用相应的按钮进行检查:
@Override
public void actionPerformed(ActionEvent evt)
{
String actionCommand = evt.getActionCommand(); //get the actionCommand and pass it to String actionCommand
if(actionCommand.equals("button1"))
//button 1 clicked
else if(actionCommand.equals("button2"))
//button 1 clicked
}
答案 1 :(得分:0)
您只需向两个按钮添加两个不同的ActionListener。
btn1.addActionListener(new ActionListener(){.....});
btn2.addActionListener(new ActionListener(){.....});
答案 2 :(得分:0)
您需要设置按钮,.add(new JButton("btn1"))
不允许您轻松访问这些按钮。
将您的按钮声明为变量,如JButton button = new JButton("btn1")
中所示。然后,调用他们的.addActionListener(...)
方法来定义要使用的actionListener。
假设您需要两个不同的 actionListeners,您可以使用以下内容。
button.addActionListener(new ActionListener() {
public void actionPerformed() {...}
}
);
如果您在拥有actionListener后不关心按钮,则可以使用临时变量:
JButton temp = new JButton("btn1");
temp.addActionListener(...);
btns.add(temp); //adds btn1
temp = new JButton("btn2");
temp.addActionListener(...);
btns.add(temp); //adds btn2
最后,如果要使用一个 actionListener来处理这两个按钮,请使用.setActionCommand()
方法为每个按钮指定唯一的命令。然后,在actionPerformed中,使用if语句并检查e.getActionCommand.equals("myButton'sAction")
。
例如:
JButton temp = new JButton("btn1");
temp.addActionListener(this);
temp.setActionCommand("Btn1");
btns.add(temp); //btn1
temp = new JButton("btn2");
temp.addActionListener(this);
temp.setActionCommand("Btn2");
btns.add(temp); //btn2
public void actionPerformed(ActionEvent e) {
String command = e.getActionCommand();
if (e.getActionCommand.equals("Btn1"))
System.out.println("Button 1 pressed");
if (e.getActionCommand.equals("Btn2"))
System.out.println("Button 2 pressed");
}