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();
 }
}
¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top