現在我的程序遇到了很大的麻煩。我不明白這個錯誤消息「MyEventA不是抽象的,也不會覆蓋java.awt.event.ActionListener中的抽象方法actionPerformed(java.awt.event.actionEvent)。」我嘗試過在網上和我的教科書上查找,但仍然無法正常工作。事件處理問題 - Java
我真的很感激,如果有人能幫我弄清楚我的代碼有什麼問題。我一直在爲此工作一個半小時,但仍然沒有解決。 :(在此先感謝!
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);
}
}
}
忘記了抽象類一秒鐘,你學到了什麼什麼接口,並應該做什麼當一個類實現一個? – Perception 2013-04-08 03:53:11
你知道Java中的'implements'是什麼意思嗎?以及一個類如何實現一個接口? – 2013-04-08 03:54:44