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

nullPointerException with applet

بدأه sunn في 12 سبتمبر 2011 · 23 رد · 1,143 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم عندما استخدم هذا الامر في كلاس ليس ابليت

new PegSolitaireGame2().getAppletContext().showDocument(new PegSolitaireGame2().getDocumentBase(), "_self");

بحيث ان pegSolitaireGame2 هو الكلاس من نوع ابليت

فانه عند التنفيذ يحدث null pointer exception فلماذا ؟؟؟؟ علما ان الامر السابق موضوع في actionListener ل menuItem من اجل تحديث الابليت

#2

اذا امكن قومي برفع الملف الخاص بالمشروع

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#3

للاسف ما بقدر ارفع الملف كامل (لاسباب امنية :cool: )

فهذا هوم ويرك تعبت عليه كتير وحرام ينسرق

#4

يا خسارة كنت اشتي ابيعه في السوق السوداء for the highest bidder

على العموم هل الكود الذي بالاعلى ابليت ام لا؟

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#5

انا ما كنت اقصدك انت وانا كنت اقصد الطلاب اللي معي في الكلية فانا اعلم انه مشروع ليس بهذه القيمة :dry:

الكود موضوع في كلاس ليس ابليت

ولكن pegSolitaireGame2 هو الابليت

تم تعديل هذه المشاركة بواسطة sunn في 12 سبتمبر 2011 في 22:06

#6

كل ما في الامر انني عندما اتعامل مع الكود استطيع ان انقب فيه ولكن عندما يكون سطر واحد يغيم الغموض عليه

ممكن ترفعي الملف على اي موقع وترسلي الرابط على الخاص اذا اردتي

كيف تشتي تستدعي ابليت من داخل كلاس ليس ابليت؟

لماذا لا تجعلين البرنامج يعمل من داخل الابليت

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#7

اعرف يا اخي ولكن لان الكود طويل ومش مرتب كويس

سارفع لك البرنامج بعد ان ارتبه قليلا وشكرا لك

#8

افحص الدوال getAppletContext

إذا كان ترجع null

وتأكد إذا كان هذا السطر هو آخر سطر في stacktrace

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#9

عندما احاول فحصها عن طريق system.out.print فانها تنتج nullpointerexception

ايش يعني اخر سطر في ال stacktrace؟؟

على العموم اخ منتال الخاص اول مرة استخدمه وما لقيت فيه مرفقات والملف كبير عشان هيك راح ارفعه هون ويا ريت تساعدوني في حل المشكلة

الكلاس الرئيسي هو PegSolitaireGame2 و لحل المشكلة تحتاج الكلاس الرئيسي وكلاس SolitaireForm0 لان الباقي نسخ عنه

الاكواد طويلة والمنتدى لا يسمح برفع اكتر من 3 ميجا لذلك رفعته على ميديا فاير فكان الله في عونك

http://www.mediafire.com/?raiq0yn5nec5ojx

تم تعديل هذه المشاركة بواسطة sunn في 13 سبتمبر 2011 في 20:27

#10

هو تسلسل الدوال التي تم مناداتها حتى حصل الخطأ

وآخر سطر في هذا التسلسل يشير غالباً على الدالة المنشودة

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#11

لا اعلم ان كنت فهمت تماما ما تقصده ولكن هذا الخطأ الذي يظهر معي

Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException
    at java.applet.Applet.getAppletContext(Applet.java:187)
    at PegSolitaireGame2.showFrame(PegSolitaireGame2.java:80)
    at SolitaireForm0.actionPerformed(SolitaireForm0.java:514)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
    at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
    at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1223)
    at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1264)
    at java.awt.Component.processMouseEvent(Component.java:6263)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
    at java.awt.Component.processEvent(Component.java:6028)
    at java.awt.Container.processEvent(Container.java:2041)
    at java.awt.Component.dispatchEventImpl(Component.java:4630)
    at java.awt.Container.dispatchEventImpl(Container.java:2099)
    at java.awt.Component.dispatchEvent(Component.java:4460)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
    at java.awt.Container.dispatchEventImpl(Container.java:2085)
    at java.awt.Component.dispatchEvent(Component.java:4460)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

وعلى كل حال قمت برفع البرنامج في الرد بالاعلى

#12

بالنسبه للبرنامج فهو شغال حسب ما انا فاهم من كلامك فى ذكر الاخطاء

وهذه تجربه حيه له

تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 13 سبتمبر 2011 في 21:57

Software Developer
Mahmoudkelany.com


 

#13

المشكلة فيه يا اخ محمود هو عندما اريد العودة للشاشة الاولى (شاشة الخيارات) وذلك عن طريق اختيار القائمة game ثم option فانه ينتج nullpointerException ولا يظهر الشاشة الاولى

#14

لم توضح ذلك

اوك دعنى القى نظره واشوف ايه الخطأ

Software Developer
Mahmoudkelany.com


 

#15

لسه ما في حد عرف ايه هي المشكلة ؟؟؟

#16

انا الجهاز عمل معايا شويه حاجات امبارح

حذفت 1.7 جيجا شغل حالى

ياااااااااااربى

يلا هاحاول اشوفها يا مسهل

Software Developer
Mahmoudkelany.com


 

#17

مش مشكلة الله يوفقك وتلقى الحل ^^

#18

بصراحه الكود بتاعك مخربط كتير

ومش قادر اصحح الخطأ

Software Developer
Mahmoudkelany.com


 

#19

هاد اللي كنت خايفة منه :sad:

طيب بتعرف كيف بامكاني احدث الابليت باستخدام زر موجود في كلاس اخر ليس ابليت (في حالة برنامجي الابليت هو pegSolitaireGame2 , والكلاس التاني هو SolitaireGame والزر هو option )؟؟؟؟؟

لاني اريد العودة للشاشة الرئيسية (شاشة الخيارات ) ولم اجد طريقة تنفع :S

#20

راح اسهل الموضوع واضع كلاس فيه فقط المشكلة

/**
 * @(#)tryclass.java
 *
 *
 * @author 
 * @version 1.00 2011/9/16
 */

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class tryclass extends JApplet implements ActionListener{
JButton b1=new JButton("b1");
JButton b2=new JButton("b2");
JTextField tf=new JTextField(8);
JPanel p1=new JPanel(new FlowLayout());
    public void init() {
    p1.add(b1);
    p1.add(b2);
    p1.add(tf);
    add(p1,BorderLayout.CENTER);
    b1.addActionListener(this);
    b2.addActionListener(this);
    }
    public void actionPerformed(ActionEvent e){
    	if(e.getSource()==b1){

    		p1.setVisible(false);

    	but b=new but();
    	add(b,BorderLayout.CENTER);	
    	}
    	if(e.getSource()==b2){

    	}
    }
    public void showpan(){
    	getAppletContext().showDocument(getDocumentBase(),"_self");
    }

}

وهذا اللي بحتوي زر التحديث

/**
 * @(#)but.java
 *
 *
 * @author 
 * @version 1.00 2011/9/16
 */
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class but extends JPanel implements ActionListener{
JButton b3=new JButton("b3");
    public but() {
    	add(b3,BorderLayout.CENTER);
    	b3.addActionListener(this);
    }
    public void actionPerformed(ActionEvent e){
    	if(e.getSource()==b3){
    		tryclass t=new tryclass();
    	t.showpan();
    	}
    }

}

لماذا nullpointer exception عند الضغط على b3????????

تم تعديل هذه المشاركة بواسطة sunn في 16 سبتمبر 2011 في 19:33

#21

خلاص حليت المشكلة وشكرا لمن حاول المساعدة

#22

أعتقد أن هذه الدالة getDocumentBase تعيد null

تأكد منها باستخدام أي جملة طباعة

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#23

هي اكيد بترجع null بس ليش بترجع null؟؟؟؟

بس خلص لقيت طريقة ثانية للوصول للمطلوب شكرا

#24

أنا لا أعرف هذه الدالة أصلاً

ولا أعتقد أنها تابعة لـ applet وإن كانت كذلك فيبدو لي أنها قديمة جداً لأن API التابعة لـ sun لا ترجع Null بالأغلب

لكن عليك بالتوثيق الخاص بالدالة فقد يحتوي على تفاصيل أكثر

اذكر الحل الآخر من فضلك

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

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