请教大家一个问题?

07-11-27 springup
import java.awt.*;

import javax.swing.*;

public class ActionEventDemo2 {

public static void main(String args[])

{

JFrame frame=new JFrame("Action Event");

MyButton b=new MyButton("close");

frame.getContentPane().add(b,BorderLayout.CENTER);

frame.setSize(200,200);

frame.setVisible(true);

}

}

import javax.swing.*;

import java.awt.event.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

public class MyButton extends JButton implements ActionListener

{

public MyButton(String text)

{

super(text);

addActionListener(this);

}

public void actionPerforeformed(ActionEvent e)

{

System.exit(0);

}

}

运行出错:Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation problem:

The type MyButton must implement the inherited abstract method ActionListener.actionPerformed(ActionEvent)

at actionEvent.MyButton.actionPerformed(MyButton.java:10)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)

at java.awt.Component.processMouseEvent(Component.java:6038)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)

at java.awt.Component.processEvent(Component.java:5803)

at java.awt.Container.processEvent(Container.java:2058)

at java.awt.Component.dispatchEventImpl(Component.java:4410)

at java.awt.Container.dispatchEventImpl(Container.java:2116)

at java.awt.Component.dispatchEvent(Component.java:4240)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)

at java.awt.Container.dispatchEventImpl(Container.java:2102)

at java.awt.Window.dispatchEventImpl(Window.java:2429)

at java.awt.Component.dispatchEvent(Component.java:4240)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation problem:

The type MyButton must implement the inherited abstract method ActionListener.actionPerformed(ActionEvent)

at actionEvent.MyButton.actionPerformed(MyButton.java:10)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)

at java.awt.Component.processMouseEvent(Component.java:6038)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)

at java.awt.Component.processEvent(Component.java:5803)

at java.awt.Container.processEvent(Container.java:2058)

at java.awt.Component.dispatchEventImpl(Component.java:4410)

at java.awt.Container.dispatchEventImpl(Container.java:2116)

at java.awt.Component.dispatchEvent(Component.java:4240)

at j)

jeadu
2007-11-27 22:51

The type MyButton must implement the inherited abstract method ActionListener.actionPerformed(ActionEvent)

他说你没有实现,你继承来的抽象方法actionPerformed(ActionEvent)。 因为你的MyButton类是public class,所以,所有接口中的方法,继承的抽象方法都必须实现。

public void actionPerforeformed(ActionEvent e)

{

System.exit(0);

}

改为:

public void actionPerformed(ActionEvent e)

{

System.exit(0);

}

恩,估计没有问题。

springup
2007-11-27 23:02
可以了

谢谢了

猜你喜欢