المساعدة - البحث - قائمة الأعضاء - التقويم
نسخة كاملة: مشكلة فى الsetlayout()
برمجة - شبكات - كمبيوتر - منتديات الفريق العربي للبرمجة > منتديات لغات البرمجة العام > منتدى مبرمجي لغة جافا JAVA
CsharpProgrammer
السلام عليكم و رحمة الله و بركاته
اتعلم لغة الجافا منذ مدة لا بأس بها
و قد بدأت فى الGUI
و قد واحهتنى مشكلة عندما حاولت ان اضع Buttons فى الForm
و هذا هو الerror

إقتباس
java.lang.Error: Do not use userinterface.MainFrame.setLayout() use userinterface.MainFrame.getContentPane().setLayout() instead


و هذه هى الclass لل GUI
كود
import javax.swing.*;
import java.awt.*;

public class MainFrame extends JFrame {
    
    /** Creates a new instance of MainFrame */
    public MainFrame() {
        super("Main Frame");
        setSize(350,125);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
        FlowLayout flo = new FlowLayout();
        setLayout(flo);
        JButton playBtn = new JButton("Play");
        JButton pauseBtn = new JButton("Pause");
        JButton stopBtn = new JButton("Stop");
        add(playBtn);
        add(pauseBtn);
        add(stopBtn);
        setVisible(true);
    }
    
}
MKSoft
أخي السلام عليكم
لقد جربت الكود ولم يكن اي مشاكل , وقام بعرض الفورم وعليه buttons . وهم paly و puase و stop .
سامح عمار
اخي العزيز الكود شغال عندي تمام بس
هو نفس المشكلة كانت بتحصل عندي

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

رسايل الخطاء مع setlayout ();

و لاحظت ان الكود بيشتغل عندي علي ويندوز اكس بي و لا يعمل علي ويندوز 2000


رغم ان هذا غير منطقي بالمرة ارجو من خبراء المنتدي توضيح السر بحثت كتير لكن لم اجد السر

في ذلك
CsharpProgrammer
شكرا لردودكم اخوانى
انا حاليا اعمل على فيستا sad.gif
MR C++
اخي الكريم اقرا الخطأ اولا
هذا الخطأ يظهر احيانا على الاصدارات الاخيرة من jdk
المهم الخطأ اذا ترجمته يعني
استعمل الدالة
كود
getContentPane().setLayout()
بدلا من
كود
setLayout()

اي يصبح برنامج بالشكل
كود
import javax.swing.*;
import java.awt.*;

public class MainFrame extends JFrame {
    
    /** Creates a new instance of MainFrame */
    public MainFrame() {
        super("Main Frame");
        setSize(350,125);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
        FlowLayout flo = new FlowLayout();
                    
getContentPane().setLayout(flo);
        
                               JButton playBtn = new JButton("Play");
        JButton pauseBtn = new JButton("Pause");
        JButton stopBtn = new JButton("Stop");
        add(playBtn);
        add(pauseBtn);
        add(stopBtn);
        setVisible(true);
    }
    
}
CsharpProgrammer
شكرا لك اخى الكريم
لقد اصلحت الخطأ
هناك استفسار فقط
ما فهمته من كلامك هى ان المشكلة مشكلة الاصدار صحيح ؟؟
سامح عمار
لا علاقة لاصدار بالخطأ لانني كان نفس الخطا مع نفس الاصدار علي

انظمة مختلفة ويندوز و يندوز 2000

ارجو توضيح السبب اكتر ولو كان من الاصدار ايه حلها ؟؟؟؟؟؟؟

وشكرا علي الرد يا غالي
cIs.Falcon
من مشاركة الاخ عمار

اعتقد

ان java.awt لها عامل هنا

بمعني ان محتويات الـ java.awt

dependant on platform

فممكن في بعض أنظمة التشغيل تجد الدالة شغالة وممكن في الباقي لا

انا مش متاكد من الكلام اللي بقوله دا ..

ياريت حد يوضح المشكلة بالضبط فين ؟

MR C++
إقتباس(سامح عمار @ Sep 5 2008, 02:52 AM) *
لا علاقة لاصدار بالخطأ لانني كان نفس الخطا مع نفس الاصدار علي

انظمة مختلفة ويندوز و يندوز 2000

ارجو توضيح السبب اكتر ولو كان من الاصدار ايه حلها ؟؟؟؟؟؟؟

وشكرا علي الرد يا غالي

اخي الكريم الذي قصدته لم يكن في الاصدارات القديمة اي مشاكل في هذه النواحي وانا كنت سابقا استخدم الدالة السابقة بدون مشاكل على كل انظمة التشغيل من دون اي مشاكل ولكن في اصدار 2005 لاحظت ان هذه المشاكل بدأت بالظهور اي هناك دوال لم اعد استخدمها مباشرة وبعض catch اصبح يجب علي تحديد exception معين ولا يرضى الا بذلك اما في السابق فكنت اكتفي با exception الاب وكان يعمل بدون مشاكل
السبب ربما الجافا واقول ربما اصبحت تريد تحديد الامور اكثر تجنبا للمشاكل
علاء الصالحي
امممممممممممم
بصراحة أخ MR C++ لم أجد أياً مما تقول في الإصدارة السادسة
اعرض بعض الشفرات وسنرى هل المشكلة عامة أم ماذا
لا أستطيع أن أفيدكم بمشكلتكم
لأنها لم تحصل معي
بإمكانكم مراسلة صن للنظر في أمرها

تحياتي
HaKxEr
السلام عليكم

مثل ماقال عـلاء

إقتباس
بآمكانكم مراسله صن للنظر في امرها
هذه "نسخة - خفيفة" من محتويات الرئيسية للإستعراض الكامل مع المزيد من الصور والخيارات الرجاء إضغط هنا.
Invision Power Board © 2001-2008 Invision Power Services, Inc.