現在、プログラムで大きな問題が発生しています。「MyEventA is not abstract and does not override abstract method actionPerformed(java.awt.event.actionEvent) in java.awt.event.ActionListener.」というエラー メッセージがわかりません。インターネットや教科書を見てみましたが、まだうまくいきません。
誰かが私のコードの何が問題なのかを理解するのを手伝ってくれたら本当にありがたいです. 私はこれに1時間半取り組んでいますが、まだ修正していません。:( 前もって感謝します!
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class MyEventA extends JFrame implements ActionListener
{
private JButton plus;
private JButton minus;
private JButton reset;
private JButton quit;
public MyEventA()
{
add(new JLabel("Current Value", JLabel.LEFT), BorderLayout.NORTH);
JTextField jtfCurrent = new JTextField("0");
add(jtfCurrent, BorderLayout.EAST);
JPanel jpSouth = new JPanel();
plus = new JButton("+");
minus = new JButton("-");
reset = new JButton("Reset");
quit = new JButton("Quit");
ButtonListener b1 = new ButtonListener(jtfCurrent);
jtfCurrent.addActionListener(b1);
plus.addActionListener(this);
minus.addActionListener(this);
reset.addActionListener(this);
quit.addActionListener(this);
jpSouth.add(plus);
jpSouth.add(minus);
jpSouth.add(reset);
jpSouth.add(quit);
add(jpSouth, BorderLayout.SOUTH);
}
class ButtonListener implements ActionListener {
private JTextField writeInto; // text field reference
private int count = 0;
public ButtonListener(JTextField tf) {
writeInto = tf;
count = 0;
}
public void actionPerformed(ActionEvent ae){
if(ae.getActionCommand().equals("+")){
count++;
writeInto.setText("" + count);
}
else if(ae.getActionCommand().equals("-")){
count--;
writeInto.setText("" + count);
}
else if(ae.getActionCommand().equals("Reset")){
count = 0;
writeInto.setText("" + count);
}
else {
System.exit(0);
}
}
public static void main(String[] args){
MyEventA events = new MyEventA();
events.setTitle("Part 2 Using getSource");
events.pack();
events.setDefaultCloseOperation(EXIT_ON_CLOSE);
events.setSize(300,100);
events.setLocation(200,200);
events.setVisible(true);
}
}
}