两个按钮如何执行两个不同的动作事件?

时间:2014-05-23 11:40:33

标签: java event-handling

定义按钮在代码中执行的操作的最佳方法是什么?我希望能够有一个按钮执行一个操作,而下一个按钮执行不同的操作。这可能吗?

4 个答案:

答案 0 :(得分:2)

您可以像这样添加动作侦听器。

jBtnSelection.addActionListener(new ActionListener() { 
  public void actionPerformed(ActionEvent e) { 
    selectionButtonPressed();
  } 
} );

答案 1 :(得分:2)

你可以这样做。

 JButton button = new JButton("Button Click");
 button.addActionListener(new ActionListener()
 {
   public void actionPerformed(ActionEvent e)
   {
      //do your implementation
   }
 });

答案 2 :(得分:1)

JButton子类AbstractButton,其方法为addActionListener。通过调用此方法并将其传递给您希望添加的动作侦听器,将添加动作侦听器,并且一旦以编程方式或通过用户交互方式触发动作,将调用该动作侦听器。可以添加其他列表,例如mouse listeners

答案 3 :(得分:1)

一种方法是让您的类实现ActionListener。然后实现actionPerformed()方法。这是一个例子:

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!");
    }
}