الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال في الكلاس

مغلق
بدأه akram في 18 مارس 2005 · 1 رد · 425 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

قمت بعمل كلاس خاص بعمل الشك بوكس بحيث استدعي منه ال methode التي تقوم بصناعه ال JCheckBox داخل كلاس اخر وذلك كلما احتجت الى عمل checkbox لكن يحدث خطا باستمرار

والخطا هوا

[COConfiguration: <Default>--------------------

I:\java\Tests\CardFrame7.java:60: cannot resolve symbol

symbol : constructor meakCheckBox (javax.swing.JCheckBox[],java.lang.String[],javax.swing.JPanel)

location: class meakCheckBox

meakCheckBox set = new meakCheckBox(ansCh1, ans1, checkBoxPanel1);

^

1 error

Process completed.

والكلاس الاتي

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.event.*;

public class meakCheckBox extends JCheckBox {
	private JCheckBox ansChs;
	private String  name;
	private Panel checkBoxPa;

  public meakCheckBox(){}
	public meakCheckBox( JCheckBox ansChs, String name, Panel checkBoxPa){
  this.ansChs= ansChs;
  this.name = name;
  this.checkBoxPa = checkBoxPa;
	} 


	public void anscheckBox(JCheckBox ansCheck1[], String []name, JPanel checkBoxPanel){
  for(int i = 0; i< name.length; i++){
  ansCheck1 = new JCheckBox(name);
  ansCheck1.setBackground(new Color(236,233,216));
  ansCheck1.addItemListener(new CardFrame7());
  checkBoxPanel.add(ansCheck1);    
  }
	}
}

وعند عمل انستانز للكلاس meakCheckBox في الكلاس الاخر او عمل Object لهذا الكلاس

لاستدعاع الmethode المسؤله عن صنع checkbox يحدث هذا الخطا دائما

وتوقيع الmetheode في الكلاس الاخر هو

meakCheckBox set = new meakCheckBox(ansCh1, ans1, checkBoxPanel1);
  set.anscheckBox(ansCh1, ans1, checkBoxPanel1);

علما ان ansCh1, ans1, checkBoxPanel1 عباره عن :

ansCh1=

JCheckBox []ansCh1 = new JCheckBox[6];

ans1 عباره عن

String [] ans1 = {"A......

وcheckBoxPanel1 عباره عن JPanel

واذا استدعيت المثود بدون الدخول لل constoctor يحدث StackOverflowError

ارجوا المساعده....والسلام عليكم

DE]

زورو موقعنا

www.algabal.com

#2

الخطأ في الصانع.

الصانع هو public meakCheckBox( JCheckBox ansChs, String name, Panel checkBoxPa

لكنك وضعت ansCh1 وهي ليس JCheckBox لكن [ ] JCheckBox. وأيضا تأكد أن تضع name ولا تضع مصفوفة.

أرجو أنك فهمت الخطأ.

نصائح:

1-حاول أن تعرف كيفية قراءة الخطأ في الأعلى فهو يبين لك أين الخطأ. وهو ينوه أن الخطأ في السطر 60.

2-فكر في تصميمك للفئة واستعمالك لها. لم أعرف معنى هذه الفئة وماذا تعمل أو ما هو المفروض من عملها!

3-انتبه لتسمية الفئات، فهي تبدأ بحروف كبيرة وليست صغيرة مثل meak. اجعلها Meak (تجنب الأخطاء الإملائية التي قد تعيق قارئ الشفرة) فهي make. :) وليست meak!!!

الله يوفقك

هذا الموضوع مغلق.

مواضيع مشابهة