java:Button不是抽象的,并且不会覆盖java.awt.event.ActionListener中的抽象方法actionPerformed(java.awt.event.ActionEvent)
我是java新手,不知道如何解决这个问题java:Button不是抽象的,并且不会覆盖java.awt.event.ActionListener中的抽象方法actionPerformed(java.awt.event.ActionEvent),java,swing,jbutton,actionlistener,Java,Swing,Jbutton,Actionlistener,我是java新手,不知道如何解决这个问题 java: Button is not abstract and does not override abstract method actionPerformed(java.awt.event.ActionEvent) in java.awt.event.ActionListener 我在mant网站和youtube上搜索过,但仍然没有找到解决这个问题的正确方法 public class Button implements ActionListene
java: Button is not abstract and does not override abstract method actionPerformed(java.awt.event.ActionEvent) in java.awt.event.ActionListener
我在mant网站和youtube上搜索过,但仍然没有找到解决这个问题的正确方法
public class Button implements ActionListener {
JTextField jt1, jt2, jt3;
JButton b1, b2, b3, b4, b5;
Button() {
JFrame jf = new JFrame();
JLabel jl1 = new JLabel("1st no:");
jl1.setBounds(40, 40, 30, 30);
JLabel jl2 = new JLabel("2nd no:");
jl2.setBounds(40, 90, 30, 30);
JLabel jl3 = new JLabel("Result:");
jl3.setBounds(40, 150, 30, 30);
jt1 = new JTextField();
jt1.setBounds(90, 40, 100, 30);
jt2 = new JTextField();
jt2.setBounds(90, 90, 100, 30);
jt3 = new JTextField();
jt3.setBounds(90, 150, 100, 30);
jt3.setEditable(false);
b1 = new JButton("+");
b1.setBounds(40, 200, 30, 30);
b2 = new JButton("-");
b2.setBounds(80, 200, 30, 30);
b3 = new JButton("*");
b3.setBounds(120, 200, 30, 30);
b4 = new JButton("/");
b4.setBounds(160, 200, 30, 30);
b5 = new JButton("%");
b5.setBounds(200, 200, 30, 30);
jf.setLayout(null);
jf.add(jl1);
jf.add(jl2);
jf.add(jt1);
jf.add(jl3);
jf.add(jt2);
jf.add(jt3);
jf.add(b1);
jf.add(b2);
jf.add(b3);
jf.add(b5);
jf.add(b4);
jf.setSize(300, 400);
jf.setVisible(true);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
b5.addActionListener(this);
}
public void ActionListener(ActionEvent e) {
String a = jt1.getText();
String b = jt2.getText();
int n = Integer.parseInt(a);
int m = Integer.parseInt(b);
if (e.getSource() == b1) {
int x = n + m;
String r = String.valueOf(x);
jt3.setText(r);
} else if (e.getSource() == b2) {
int x = n - m;
String r = String.valueOf(x);
jt3.setText(r);
} else if (e.getSource() == b3) {
int x = n / m;
String r = String.valueOf(x);
jt3.setText(r);
} else if (e.getSource() == b4) {
int x = n * m;
String r = String.valueOf(x);
jt3.setText(r);
} else if (e.getSource() == b5) {
int x = n % m;
String r = String.valueOf(x);
jt3.setText(r);
}
}
public static void main(String[] args) {
new Button();
}
}
代码中有很多需要改进的地方,但是与错误有关的是什么呢
按钮不是抽象的,并且不会覆盖java.awt.event.ActionListener中的抽象方法actionPerformed(java.awt.event.ActionEvent),
这意味着您应该实现actionPerformed方法。因此,将public void ActionListener(ActionEvent e)
更改为public void actionPerformed(ActionEvent e)
,错误将消失:
public void actionPerformed(ActionEvent e) {
String a = jt1.getText();
String b = jt2.getText();
...
当您实现任何类的接口时,您需要重写类中所有非抽象的接口方法
当您的Button类实现ActionListener接口时,您需要重写类中的方法。不要调用类Button。有一个AWT组件具有该名称,因此很容易混淆。不要使用null布局,也不要使用setBounds。Swing设计用于布局管理器。