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

سوال آخر متعلق بال JDeskTopPane & JInternalFrame

بدأه mr.beshoy في 14 فبراير 2011 · 21 رد · 1,216 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

كنت سألت سوال سابق عنهم فى هذا الرابط :

/index.php?showtopic=236670&st=0&gopid=1173556entry1173556

سبب فتحى لهذا الموضوع لإنى أخطات دون قصد فى وضع سوال آخر مع نفس الموضوع الذى به السوال الأول .

-----------------------------------------------

لدى Frame أضفت عليها panel عليها زر ، و عند الضغط على الزر تظهر panel أخرى عليها زر عند الضغط عليه يجب أن تظهر ال DeskTopPane و لكنها لا تظهر بل تظهر نقط صغيرة جداً طبقت نفس الخطوات السابقة لكن مش عارف ايه السبب :wacko:

الكود مرفق .

معلش انا عارف ان سوالى مش ولابد بس استحملنى

شكراً

TestDeskTop.rar

#2

شوف الـLayout اللي وضعت داخله الـJDesktopPane هل هو Null?


HeartOutputStream myHeart;
OutputStream myHeartOutStream;

myHeartOutStream = MAllaw.getHeart().getOutputStream();
myHeart = new HeartOutputStream(myHeartOutStream);

while(myHeart.isStillBeating())
myHeart.write("I ♥ Java");

#3
 public MyDeskTopPane() throws PropertyVetoException {
    	setLayout(new FlowLayout());
    	internalFrame = new JInternalFrame("Internal Frame", true, true, true, true);
   	// internalFrame.setSize(new Dimension(900, 300));
    	internalFrame.add(label, BorderLayout.CENTER);
    	internalFrame.setVisible(true);
    	add(internalFrame);
    	internalFrame.setMaximum(true);
	}

خليها FlowLayout وبتظهر معك


HeartOutputStream myHeart;
OutputStream myHeartOutStream;

myHeartOutStream = MAllaw.getHeart().getOutputStream();
myHeart = new HeartOutputStream(myHeartOutStream);

while(myHeart.isStillBeating())
myHeart.write("I ♥ Java");

#4

تمام . لكن أنا عاوز ال InternalFrame تظهر بملئ الشاشة الى عليها زر "button" . كيف ؟؟

أنا فكرت أعمل فى ال class MainPanel كده :

add(dp,BorderLayout.CENTER);

لكن بردو بتظهر صغيرة !!!!

#5

والزرار وين بتوديه؟ وبعدين ان تضيف اكثر من JDesktopPane وكلهم بتخليهم ملئ الشاشه؟

ايش فكرتك بالضبط؟


HeartOutputStream myHeart;
OutputStream myHeartOutStream;

myHeartOutStream = MAllaw.getHeart().getOutputStream();
myHeart = new HeartOutputStream(myHeartOutStream);

while(myHeart.isStillBeating())
myHeart.write("I ♥ Java");

#6

الفكرة أنى أريد عندما أضغط على الزر "button" يظهر ال JDesktopPane المحتوى على ال internal Frame بملئ الشاشة دون إخفاء ال panel التى تحتوى الزر "button"

#7

كيف ملئ الشاشة بدون اخفاء البانل والزر؟!!!!

طيب تقدر تعرضها في فريم مستقل

تم تعديل هذه المشاركة بواسطة M.Allaw في 15 فبراير 2011 في 00:49


HeartOutputStream myHeart;
OutputStream myHeartOutStream;

myHeartOutStream = MAllaw.getHeart().getOutputStream();
myHeart = new HeartOutputStream(myHeartOutStream);

while(myHeart.isStillBeating())
myHeart.write("I ♥ Java");

#8

ما هى دى فائدة الInternal Frame أنك تقدر تفتحها دون إخفاء ال panel , و ما عليها من محتويات

شوف الكود ده و هتفهم قصدى .

ما فعلته فى هذا الكود للاسف مش بيحدث فى الكود الى انت شغال عليه

DeskTopPan.rar

#9

بس انت مضيفها داخل JDesktopPanel لو ضفتها وحدها كـinternal frame ممكن


HeartOutputStream myHeart;
OutputStream myHeartOutStream;

myHeartOutStream = MAllaw.getHeart().getOutputStream();
myHeart = new HeartOutputStream(myHeartOutStream);

while(myHeart.isStillBeating())
myHeart.write("I ♥ Java");

#10

ممكن توضحلى أزاى طيب؟

لإنه مش ينفع اتعامل مع ال InternalFrame من غير ال DeskTopPane

لو عارف قولى

تم تعديل هذه المشاركة بواسطة mr.beshoy في 15 فبراير 2011 في 01:38

#11

من قال لك هذا الكلام؟ جربت؟

جرب وشوف :)


HeartOutputStream myHeart;
OutputStream myHeartOutStream;

myHeartOutStream = MAllaw.getHeart().getOutputStream();
myHeart = new HeartOutputStream(myHeartOutStream);

while(myHeart.isStillBeating())
myHeart.write("I ♥ Java");

#12

ده الى عملته :

و لا تظهر ال InternalFrame على الاطلاق

TestDeskTop.rar

#13
mr.beshoy كتب:

ده الى عملته :

و لا تظهر ال InternalFrame على الاطلاق

نفس المشكله اللى حصلت معاك فى الموضوع الاول

انك استخدمت كائن من نوع JInternalFrame وانت ترث منها اصلا

معذره على التاخير لانقطاع النت

Software Developer
Mahmoudkelany.com


 

#14

لا أخي محمود هنا هو وارث من الـJDesktopPane :)


HeartOutputStream myHeart;
OutputStream myHeartOutStream;

myHeartOutStream = MAllaw.getHeart().getOutputStream();
myHeart = new HeartOutputStream(myHeartOutStream);

while(myHeart.isStillBeating())
myHeart.write("I ♥ Java");

#15
M.Allaw كتب:

لا أخي محمود هنا هو وارث من الـJDesktopPane :)

انا بتكلم على اخر حاجه توصل اليها وهى التى قبل مشاركتى مباشره

وهى انه قام بـ

class MyInternalFrame extends JInternalFrame

وقام بانشاء كائن اخر من نوع JInternalFrame ويتعامل معه

Software Developer
Mahmoudkelany.com


 

#16

اسف جداً على الاخطاء دى .

ظبطها ، و دلوقتى ال internalFrame بتظهر تمام .

---------------------------------------

لكن المشكلة الكبرى هى إنها لا تظهر بملئ الشاشة ، و لكن أستطيع تكبيرها.

و للاسف حتى إن كبرتها تظهر محتويات ال Panel من خلالها و هى الزر "button" !!!!

و جربت أن استعمل الدالة setOpaque(false) ختى لا يظهر الزر Button و لكن دون فائدة !!!!

-----------------------------------------------------------------------------------------

و لكى تظهر بملئى الشاشة لابد أن استعمل الJdeskTopPane

حتى أستطيع المناداة على الدالة setMaximum(true) لاننا لو استدعينا هذه الدالة دون إضافة ال internlframe إلى desktopPane سيعطى Null POinterException

- و لكننا فى السابق قررنا أن نلغى استعماله .

-----------------------------------------

معلش استحملومنى

شكراً

آخر تعديل مرفق .

TestDeskTop.rar

تم تعديل هذه المشاركة بواسطة mr.beshoy في 15 فبراير 2011 في 10:44

#17

بالنسبه للشفره هذي

 public MyDeskTopPane() throws PropertyVetoException {
        setLayout(new FlowLayout());
        internalFrame = new JInternalFrame("Internal Frame", true, true, true, true);
        // internalFrame.setSize(new Dimension(900, 300));
        internalFrame.add(label, BorderLayout.CENTER);
        internalFrame.setVisible(true);
        add(internalFrame);
        internalFrame.setMaximum(true);
        }

لن يعمل معك الامر BorderLayout.CENTER الى اذا استبدلت الامر

 setLayout(new FlowLayout());

بالامر

 setLayout(new BorderLayout());
#18

أستاذ العيافى

--------------------

شكراً لردك ، و تفهمت الخطأ .

و لكن الآن أنا بتكلم فى شفيرة أخرى غير التى أطلعت عليها

و أرفقتها مرة أخرى

---------------------------------

ما أريده هو جعل ال InternalFrame بملئ الشاشة ، و لا يظهر الزر "button " عليها كما يحدث فى ال code المرفق .

شكراً

TestDeskTop.rar

#19

عزيزي mr.beshoy

ردي السابق كان على الشفره فقط .

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

#20

شكراً لك مرة ثانية .

-----------------------------

ما أريد عمله هو : frame عليها زرار ثم عند ضغطى عليه تظهر panel عليها زرار و عند الضغط عليه تظهر InternalFrame بملئ الشاشة . هذا ما قولته سابقاً

و وضعت محاولاتى .

أنا تعبت من المشكلة دى جداً

تم تعديل هذه المشاركة بواسطة mr.beshoy في 15 فبراير 2011 في 13:34

#21

جرب كدا اخى بيشوى

TestDeskTop22.zip

بالتوفيق :)

تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 15 فبراير 2011 في 22:48

Software Developer
Mahmoudkelany.com


 

#22

شكراً أخ محمود على تعبك .

و شكراً للجميع

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