我是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
}
}
答案 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