如何为java

时间:2016-05-29 09:35:50

标签: java

enter image description here

我有一个包含JButton的jframe。我在这个框架中有六个按钮,但我不知道如何为这个按钮定义动作监听器。请帮助解决这个问题。

4 个答案:

答案 0 :(得分:3)

首先,您必须导入包java.awt.event。*以启用事件。在类名之后,您必须添加实现ActionListener,以便该类可以处理事件。创建按钮后,必须为每个按钮添加actionlistener。由于您还没有显示您使用的代码,因此我使用一个计算投票的简单程序作为示例,如果用户点击yesButton,则投票数增加1,如果用户点击noButton,投票将减少1。

以下是为每个按钮添加ActionListener的代码:

yesButton.addActionListener(this);
noButton.addActionListener(this);

然后编写以下代码来处理事件:

public void actionPerformed(ActionEvent e) {
  JButton src = (JButton) e.getSource();
  if(src.getActionCommand().equals("Yes")) {
    yesCount++;
  } else {
    noCount++;
  }
  label.setText("Difference: " + (yesCount - noCount));
}

如果你有6个按钮,你需要有一个if语句然后是5"否则如果"语句而不仅仅是if和else语句。

答案 1 :(得分:0)

查看有关如何使用 ActionListeners 的Java教程:

https://docs.oracle.com/javase/tutorial/uiswing/events/actionlistener.html

这是一个简单的例子:

    import java.awt.BorderLayout;
    import java.awt.Dimension;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;

    import javax.swing.JButton;
    import javax.swing.JComponent;
    import javax.swing.JFrame;
    import javax.swing.JPanel;

    public class Hello extends JPanel implements ActionListener {

        JButton button;

        public Hello() {

            super(new BorderLayout());
            button = new JButton("Say Hello");
            button.setPreferredSize(new Dimension(180, 80));
            add(button, BorderLayout.CENTER);

            button.addActionListener(this);  //  This is how you add the listener
        }

        /**
        * Invoked when an action occurs.
        */
        public void actionPerformed(ActionEvent e) {
            System.out.println("Hello world!");
        }


        private static void createAndShowGUI() {

            JFrame frame = new JFrame("Hello");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

            JComponent newContentPane = new Hello();

            newContentPane.setOpaque(true);
            frame.setContentPane(newContentPane);
            frame.pack();
            frame.setVisible(true);
        }

        public static void main(String[] args) {
            javax.swing.SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    createAndShowGUI();
                }
            });
        }
    }

答案 2 :(得分:0)

按钮有一个名为addActionListener的方法,用于添加你可以为点击实现的动作监听器......

实施例

dummyButton = new JButton("Click Me!"); // construct a JButton
add(dummyButton); // add the button to the JFrame
dummyButton.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        System.out.println(" TODO Auto-generated method stub");
    }
});

答案 3 :(得分:0)

这很简单。

我想你有一个按钮实例,对吗?我们假设该实例名为myButton

您只需调用addActionListener

即可添加动作监听器
myButton.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        // Do whatever you like here
    }
});

Protip:下次您不知道要调用的方法时,只需输入实例名称和.即可。然后,除非您没有使用IDE,否则IDE将显示您可以调用的所有方法。如果是这种情况,请下载一个。