سؤال

jframewithpanel ليست مجردة ولا تتغلب على طريقة مجردة Actionperformed (java.awt.event.actionevent) في java.awt.event.ActionListener الفئة العامة Jframewithpanel

لا أحصل على هذا الرمز. يخبرني موقع Book and 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);

لذلك يجب أن يكون لديك هذه الطريقة. أنت في حاجة إليها ، لأن الزر الخاص بك يحتاج إلى مستمع إجراء.

في هذه الطريقة ، تحدد ما يحدث عند النقر فوق الزر.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top