ActionListener没有实施
-
27-09-2019 - |
题
jframewithpanel不是抽象的,也不覆盖抽象方法actionperformed(java.awt.event.actionevent)java.ava.awt.event.event.ActionListener公共类JframeWithPanel扩展了Jframe jframe jframe sufting actionListener
我没有得到这个代码。 Book和Java网站告诉我这是该方法的语法,但是此错误又不断出现。
import javax.swing.*;
import javax.swing.JOptionPane;
import java.awt.*;
import java.awt.event.*;
import java.lang.Math.*;
import java.lang.Integer.*;
import java.util.*;
import java.util.Random;
import java.io.*;
import java.text.*;
import java.text.DecimalFormat.*;
public class JFrameWithPanel extends JFrame implements ActionListener
{
JButton button = new JButton("Exit");
public JFrameWithPanel()
{
super("JFrame with Panel");
JComboBox packageChoice = new JComboBox();
packageChoice.addItem("A+ Certification");
packageChoice.addItem("Network+ Certification ");
packageChoice.addItem("Security+ Certifictation");
packageChoice.addItem("CIT Full Test Package");
packageChoice.addActionListener(this);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel pane = new JPanel();
pane.add(button);
pane.add(packageChoice);
setContentPane(pane);
setSize(200,100);
setVisible(true);
}
}
然后稍后
public class CreateJFrameWithPanel
{
public static void main(String[] args)
{
JFrameWithPanel panel = new JFrameWithPanel();
}
}
解决方案
班级实现 ActionListener
界面。这意味着它必须实现一种方法:
public void actionPerformed(ActionEvent)
但是,您发布的类定义不包括此方法,因此为什么您会看到汇编错误。要修复代码,请尝试添加以下方法:
public void actionPerformed(ActionEvent evt) {
Object obj = packageChoice.getSelectedItem();
JOptionPane.showMessageDialog(this, "You selected: " + obj);
}
其他提示
implements ActionListener
意味着您的班级必须定义在 ActionListener
界面。它有一种方法:
void actionPerformed(java.awt.event.ActionEvent);
因此,您必须使用此方法。您需要它,因为您的按钮需要操作侦听器。
在该方法中,您定义单击按钮时会发生什么。
不隶属于 StackOverflow