Question

JFrameWithPanel n'est pas abstrait et ne remplace pas la méthode abstraite ActionPerformed (java.awt.event.actionEvent) dans java.awt.event.ActionListener Classe publique JFramewithpanel étend JFrame implémente ActionListener

Je n'obtiens pas ce code. Le site de livres et de java me dit que c'est la syntaxe de la méthode, mais encore une fois cette erreur apparaît constamment.

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);

 }
}

puis plus tard

public class CreateJFrameWithPanel
{
 public static void main(String[] args)
 {
  JFrameWithPanel panel = new JFrameWithPanel();
 }
}
Était-ce utile?

La solution

La classe implémente le ActionListener interface. Cela signifie qu'il doit implémenter une méthode:

public void actionPerformed(ActionEvent)

Cependant, la définition de classe que vous avez publiée n'inclut pas cette méthode, d'où la raison pour laquelle vous voyez une erreur de compilation. Pour corriger le code, essayez d'ajouter la méthode suivante:

public void actionPerformed(ActionEvent evt) {
  Object obj = packageChoice.getSelectedItem();
  JOptionPane.showMessageDialog(this, "You selected: " + obj);
}

Autres conseils

implements ActionListener signifie que votre classe doit définir les méthodes définies dans le ActionListener interface. Il a une méthode:

void actionPerformed(java.awt.event.ActionEvent);

Vous devez donc soit avoir cette méthode. Vous en avez besoin, car votre bouton a besoin d'un auditeur d'action.

Dans cette méthode, vous définissez ce qui se passe lorsque le bouton est cliqué.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top