ActionListener no está implementando
-
27-09-2019 - |
Pregunta
JFRameWithPanel no es abstracto y no anula el método de resumen ActionPerformed (java.awt.event.actionEvent) en java.awt.event.actionListener clase pública Jframewithpanel extiende jframe implementa ActionListener
No entiendo este código. El libro y el sitio de Java me dicen que esta es la sintaxis para el método, pero nuevamente este error aparece constantemente.
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);
}
}
Entonces despúes
public class CreateJFrameWithPanel
{
public static void main(String[] args)
{
JFrameWithPanel panel = new JFrameWithPanel();
}
}
Solución
La clase implementa el ActionListener
interfaz. Esto significa que debe implementar un método:
public void actionPerformed(ActionEvent)
Sin embargo, la definición de clase que ha publicado no incluye este método, de ahí que vea un error de compilación. Para solucionar el código, intente agregar el siguiente método:
public void actionPerformed(ActionEvent evt) {
Object obj = packageChoice.getSelectedItem();
JOptionPane.showMessageDialog(this, "You selected: " + obj);
}
Otros consejos
implements ActionListener
significa que su clase debe definir los métodos que se definen en el ActionListener
interfaz. Tiene un método:
void actionPerformed(java.awt.event.ActionEvent);
Entonces debes tener este método. Lo necesita, porque su botón necesita un oyente de acción.
En ese método, define qué sucede cuando se hace clic en el botón.