一种方法是让类实现ActionListener。然后实现actionPerforme((方法。这里有一个例子:
定义按钮将在代码中执行的操作的最佳方式是什么?我希望一个按钮可以做一个动作,下一个按钮做不同的动作。这可能吗?
您可以添加这样的动作侦听器。
jBtnSelection.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
selectionButtonPressed();
}
} );
您可以这样做。
JButton button = new JButton("Button Click");
button.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
//do your implementation
}
});
JButton
子类AbstractButton
,后者有一个方法addActionListener
。通过调用此方法并将其传递给您希望添加的动作侦听器,就添加了动作侦听器并将在以程序方式或通过用户交互的方式触发动作后进行调用。可以添加其他监听器,例如鼠标监听器。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Driver extends JFrame implements ActionListener {
private static final long serialVersionUID = 3549094714969732803L;
private JButton button = new JButton("Click");
public Driver(){
JPanel p = new JPanel(new GridLayout(3,4));
p.add(button);
button.addActionListener(this);
add(p);
}
public static void main(String[] args){
Driver frame = new Driver();
frame.setSize(500,200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("You clicked me!");
}
}