2014-10-18 85 views
0

我正在为我的OOP类编写一个java程序,并且我正在尝试添加一些actionlisteners,但由于某些原因我不断收到此错误“BattleshipUI.ExitListener不是抽象的,并且不会在ActionListener中重写抽象方法actionPerformed(ActionEvent) “,下面的代码是我如何构建我的actionlistener。ActionListener不是抽象的,不重写抽象方法,但我有一个actionPerformed,有什么错?

public class ExitListener implements ActionListener { 
    public void actionPerformed(ActionEvent e){ 
     int response = JOptionPane.showConfirmDialog(null,"Are you sure you want to exit?","Exit",JOptionPane.YES_NO_OPTION); 

     if (response == JOptionPane.YES_OPTION){ 
      System.exit(0); 
     } 
    } 


} 

我在我的代码中有大约4个这样的代码,每个代码都有相同的错误。 任何帮助将不胜感激。

import java.awt.BorderLayout; 
 
import java.awt.Color; 
 
import java.awt.Dimension; 
 
import java.awt.FlowLayout; 
 
import java.awt.GridLayout; 
 
import java.awt.event.ActionListener; 
 
import javafx.event.ActionEvent; 
 
import javax.swing.BorderFactory; 
 
import javax.swing.JButton; 
 
import javax.swing.JComboBox; 
 
import javax.swing.JFrame; 
 
import javax.swing.JLabel; 
 
import javax.swing.JMenu; 
 
import javax.swing.JMenuBar; 
 
import javax.swing.JMenuItem; 
 
import javax.swing.JOptionPane; 
 
import javax.swing.JPanel; 
 
import javax.swing.SwingConstants; 
 
import javax.swing.border.BevelBorder;

+0

我的猜测是你正在导入错误的'ActionEvent'类。请显示您的进口。 – 2014-10-18 16:11:26

+0

我同意@JonSkeet此外BattleshipUI.ExitListener它似乎是你的监听器在BattleshipUI类(因为你的exitlistener不能公开,如果是这样的话)? – SMA 2014-10-18 16:14:24

+0

我相信我找到了问题,我正在导入“import javafx.event.ActionEvent;”但是应该是“import java.awt.event.ActionEvent;”谢谢你让我检查! – user3768356 2014-10-18 16:35:43

回答

3

改变你的进口javafx.event.ActionEventjava.awt.event.ActionEvent或更改

public void actionPerformed(ActionEvent e){ 
     int response = JOptionPane.showConfirmDialog(null,"Are you sure you want to exit?","Exit",JOptionPane.YES_NO_OPTION); 

     if (response == JOptionPane.YES_OPTION){ 
      System.exit(0); 
     } 
    } 

public void actionPerformed(java.awt.event.ActionEvent e){ 
     int response = JOptionPane.showConfirmDialog(null,"Are you sure you want to exit?","Exit",JOptionPane.YES_NO_OPTION); 

     if (response == JOptionPane.YES_OPTION){ 
      System.exit(0); 
     } 
    } 

,如果你需要保持javafx进口。

+0

我刚刚非常感谢!这是昨天整个窃听我! – user3768356 2014-10-18 16:38:15

相关问题