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

Pizza Shop.java

بدأه شمعه في 29 ديسمبر 2008 · 3 رد · 910 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

import java.awt.*;

import javax.swing.*;

import javax.swing.border.TitledBorder;

public class PizzaGUI extends JFrame

{

public PizzaGUI()

{

JPanel p11=new JPanel();

p11.setLayout(new GridLayout());

p11.setSize(3,1);

JCheckBox b1=new JCheckBox("Vegeables");

JCheckBox b2=new JCheckBox("Pinnaple");

JCheckBox b3=new JCheckBox("Vegetable");

p11.add(b1);

p11.add(b2);

p11.add(b3);//Finished p11

JPanel p1=new JPanel();

p1.setLayout(new FlowLayout());

p1.setSize(60, 70);

p1.setBorder(new TitledBorder("Pizza"));

p1.add(new JLabel("Topping"));

p1.add(new JLabel("Size"));

JComboBox c1=new JComboBox(new Object[]{"small", "medium", "large"});

p1.add(c1);

p1.add(new JButton("Add Pizza"));

p1.add(p11);

p1.setVisible(true);//Finished p1 but not organized

JPanel p2=new JPanel();

p2.setLayout(new FlowLayout());

p2.setSize(20, 30);

p2.setBorder(new TitledBorder("Drink"));

p2.add(new JLabel("Size"));

JComboBox c2=new JComboBox(new Object[]{"small", "medium", "large"});

p2.add(c2);

p2.add(new JButton("Add Drink"));

p2.setVisible(true);//Finished p2

JTextArea text=new JTextArea(50, 200);

text.setVisible(true);

//need to add all the previous but not organized

}

public static void main(String[] args){

PizzaGUI p = new PizzaGUI();

JFrame frame = new JFrame("Pizza Shop");

frame.setSize(450, 300);

frame.setLayout(new BorderLayout());

frame.add(p);

frame.setVisible(true);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

السلام عليكم اخوتي كتبت هذا البرنامج بشكل سليم ومنطقي لكن عندما قمت بعمل تنفيذ له على لم ينفذ واعطاني كالتالي eclipse

Exception in thread "main" java.lang.IllegalArgumentException: adding a window to a container

at java.awt.Container.addImpl(Unknown Source)

at java.awt.Container.add(Unknown Source)

at javax.swing.JFrame.addImpl(Unknown Source)

at java.awt.Container.add(Unknown Source)

at PizzaGUI.main(PizzaGUI.java:60)

اتمنى النظر في الخلل واعطائي التوضيح اللازم ولكم فائق الاحترام والتقدير

#2

اتفضل يا أخي, تعديل بادئ بالتعليق :

 //@daz

import java.awt.*;


import javax.swing.*;


import javax.swing.border.TitledBorder;



public class PizzaGUI extends JFrame


{



public PizzaGUI()


{


JPanel p11=new JPanel();



p11.setLayout(new GridLayout());


p11.setSize(3,1);


JCheckBox b1=new JCheckBox("Vegeables");


JCheckBox b2=new JCheckBox("Pinnaple");


JCheckBox b3=new JCheckBox("Vegetable");


p11.add(b1);


p11.add(b2);


p11.add(b3);//Finished p11



JPanel p1=new JPanel();



p1.setLayout(new FlowLayout());


p1.setSize(60, 70);


p1.setBorder(new TitledBorder("Pizza"));


p1.add(new JLabel("Topping"));


p1.add(new JLabel("Size"));



JComboBox c1=new JComboBox(new Object[]{"small", "medium", "large"});



p1.add(c1);


p1.add(new JButton("Add Pizza"));


p1.add(p11);


p1.setVisible(true);//Finished p1 but not organized



JPanel p2=new JPanel();



p2.setLayout(new FlowLayout());


p2.setSize(20, 30);


p2.setBorder(new TitledBorder("Drink"));


p2.add(new JLabel("Size"));


JComboBox c2=new JComboBox(new Object[]{"small", "medium", "large"});


p2.add(c2);


p2.add(new JButton("Add Drink"));


p2.setVisible(true);//Finished p2



JTextArea text=new JTextArea(50, 200);


text.setVisible(true);


//need to add all the previous but not organized


//@daz////////////////////////////////////////
//@daz//////////////////////////////// my addition here :

getContentPane().add(p11);
getContentPane().add(p1);
getContentPane().add(p2);

//@daz// you should add panels to JFrame's content pane
//@daz//////////////////////////////////////////////////////

}




public static void main(String[] args){


PizzaGUI p = new PizzaGUI();

//@daz////////////////////////////////////////// You havn't add Jframe to Jframe
//@daz//JFrame frame = new JFrame("Pizza Shop");

//@daz
p.setSize(450, 300);

//@daz////////////////////////////////////////// this is a simple layout manager
p.setLayout(new FlowLayout());

//@daz////////////////////////////////////////// You havn't add Jframe to Jframe
//frame.add(p);


//@daz
p.setVisible(true);

//@daz
p.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


}



}
#3

اختي شمعة معليش الكود ملخبط شوي, هو الخطأ يقول إنك تبغي تضعي JFrame داخل JFrame و هذا مش ممكن طبعا, لكن لو تشرحي ايش اللي تبغي تعمليه و أنا راح أعمله إن شاء الله و يكون كود سهل و سريع الفهم.

#4

import java.awt.*;

import javax.swing.*;

import javax.swing.border.TitledBorder;

public class PizzaGUI extends JApplet

{

public void init()

{

JPanel p11=new JPanel();

p11.setLayout(new GridLayout());

p11.setSize(3,1);

JCheckBox b1=new JCheckBox("Vegeables");

JCheckBox b2=new JCheckBox("Pinnaple");

JCheckBox b3=new JCheckBox("Vegetable");

p11.add(b1);

p11.add(b2);

p11.add(b3);//Finished p11

JPanel p1=new JPanel();

p1.setLayout(new FlowLayout());

p1.setSize(60, 70);

p1.setBorder(new TitledBorder("Pizza"));

p1.add(new JLabel("Topping"));

p1.add(new JLabel("Size"));

JComboBox c1=new JComboBox(new Object[]{"small", "medium", "large"});

p1.add(c1);

p1.add(new JButton("Add Pizza"));

p1.add(p11);

p1.setVisible(true);//Finished p1 but not organized

JPanel p2=new JPanel();

p2.setLayout(new FlowLayout());

p2.setSize(20, 30);

p2.setBorder(new TitledBorder("Drink"));

p2.add(new JLabel("Size"));

JComboBox c2=new JComboBox(new Object[]{"small", "medium", "large"});

p2.add(c2);

p2.add(new JButton("Add Drink"));

p2.setVisible(true);//Finished p2

JTextArea text=new JTextArea(50, 200);

text.setVisible(true);

//need to add all the previous but not organized

//@daz////////////////////////////////////////

//@daz//////////////////////////////// my addition here :

getContentPane().add(p11);

getContentPane().add(p1);

getContentPane().add(p2);

//@daz// you should add panels to JFrame's content pane

//@daz//////////////////////////////////////////////////////

}

}

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