如何修复按钮

时间:2017-09-09 17:32:59

标签: java

我是java的新手,我想创建一个打开一个窗口的应用程序,并且有两个按钮可以说不同的东西。但似乎有一个问题,我不知道如何解决它。 感谢您的帮助。

    package fenster;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Fenster {
    public static void main(String[] args) {
        JFrame myFrame=new JFrame ("This is my window.");
        myFrame.setSize(300,400);
        myFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        myFrame.setVisible(true);
        JPanel panel= new JPanel();
        myFrame.add(panel);
        JButton button= new JButton("Hello World!");
        panel.add(button);
        button.addActionListener(new Action1()); // there's an error here

        JButton button2= new JButton("Hello again!");
        panel.add(button2);
        button2.addActionListener (new Action2()); // there's an error here

    }

}

1 个答案:

答案 0 :(得分:1)

package fenster;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Fenster {
public static void main(String[] args) {
    JFrame myFrame=new JFrame ("This is my window.");
    myFrame.setSize(300,400);
    myFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    myFrame.setVisible(true);
}
public Fenster(){
    JPanel panel= new JPanel();
    myFrame.add(panel);
    JButton button= new JButton("Hello World!");
    panel.add(button);
    button.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent evt)
    {
        //code here
     }
     } 

    JButton button2= new JButton("Hello again!");
    panel.add(button2);
    button2.addActionListener (new ActionListener(){
    public void actionPerformed(ActionEvent evt)
    {
        //code here
    }
    } 

}

}

首先,不要在main方法下添加所有代码,以便更好地创建构造函数或其他方法,而不是main

第二个因为new action2而导致错误的原因,在这里你必须创建一个名为Action2的类和名为Action1的类。这两个类都应该实现ActionListener

或者

您可以创建一个匿名侦听器,就像我执行new ActionListener那样,每次都不需要创建一个类。

检查以获取更多信息: ActionListener