واجهة فيها قائمة jmenuBar فيها 3 قوائم:
menu1(إدخال) ,jmenu2(بحث),jmenu3(حذف).
بدي اربط كل menu بواجهة فرعية ,ما هي الطريقة بحيث اذا ضغطت على واحدة من القوائم تفتحلي الواجهة الخاصة فيها
مثلاً: اذا ضغطت بحث تفتح الواجهة الخاصة بالبحث؟؟؟
واجهة فيها قائمة jmenuBar فيها 3 قوائم:
menu1(إدخال) ,jmenu2(بحث),jmenu3(حذف).
بدي اربط كل menu بواجهة فرعية ,ما هي الطريقة بحيث اذا ضغطت على واحدة من القوائم تفتحلي الواجهة الخاصة فيها
مثلاً: اذا ضغطت بحث تفتح الواجهة الخاصة بالبحث؟؟؟
السلام عليكم:
شو ما حدا عندو الجواب ولا ما فهمتو السؤال من أصلو!
الرجاء اللي عندو فكرة عن الموضوع الرد ولكم جزيل الشكر
لا تحتاج إلى 3 JMenu وانما 3 JMenuItem داخل JMenu واحد وتضيف داخله الـJMenuItems
أضف ActionListener لكل MenueItem وداخل دالة الـactionPerformed تكتب الكود الذي يقوم بإظهار الواجهة كالتالي :
menuItem1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
new myFrame1();
}
});:)
M.Allaw كتب:لا تحتاج إلى 3 JMenu وانما 3 JMenuItem داخل JMenu واحد وتضيف داخله الـJMenuItems
أضف ActionListener لكل MenueItem وداخل دالة الـactionPerformed تكتب الكود الذي يقوم بإظهار الواجهة كالتالي :
menuItem1.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ new myFrame1(); } });:)
السلام عليكم ورحمة الله تعالى وبركاته:مشكورين جميع الأخوة الذين شاركوا بهذا الموضوع,وبدي اعتذر عن ارسال الموضوع لمرة تانية بس لاني كنت مستعجلة شوي و شكرا كتير عالتنبيه الحلو
لكن بالنسبة للأخ 'M.Allaw' جربت الطريقة اللي التلي عليها بس ما عرفت هل ساوي لل jMenu صف لحالو؟ولا حطها مع الواجهة الافتراضية (إدخال افتراضي )!
هذا الامر راجع لك ..
هنا مثالين لتوضيح لـ JMenu
العيافـي كتب:هذا الامر راجع لك ..
هنا مثالين لتوضيح لـ JMenu
الله يعطيك العافية وشكراً كتير الك بس كيف فيني ساويه من اليمين لليسار(ملف,تحرير,...........)
أو بالأحرى كيف فيني ساوي الJframe عربي(العنوان تبعو بدي ياه من اليمين لليسار)
تم تعديل هذه المشاركة بواسطة abbodeh في 7 فبراير 2011 في 11:28
بالنسبه للمثال الاول اضف السطور التالية
bar.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
menu1.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
menu2.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);العيافـي كتب:بالنسبه للمثال الاول اضف السطور التالية
bar.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); menu1.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); menu2.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
عملت نفس الشي بالنسبة لل Jframe بس ما مشي الحال؟
this.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
abbodeh كتب:عملت نفس الشي بالنسبة لل Jframe بس ما مشي الحال؟
this.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
فيه مشكله مع الـ JFrame
انما جميع المكونات يتم تغيييرها
مثلا هذه الصور
واحده باللغه العربيه والاخرى بالانجليزى مع تغيير الاتجاهات
لكن الـ Frame ثابت


بالتوفيق
M.Allaw كتب:لا تحتاج إلى 3 JMenu وانما 3 JMenuItem داخل JMenu واحد وتضيف داخله الـJMenuItems
أضف ActionListener لكل MenueItem وداخل دالة الـactionPerformed تكتب الكود الذي يقوم بإظهار الواجهة كالتالي :
menuItem1.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ new myFrame1(); } });:)
لو سمحتو تقلولي هادا الكود وين حطو لأنو جربت حطيتو بال jbinit وما مشي الحال.
Mahmoud Kelany كتب:فيه مشكله مع الـ JFrame
انما جميع المكونات يتم تغيييرها
مثلا هذه الصور
واحده باللغه العربيه والاخرى بالانجليزى مع تغيير الاتجاهات
لكن الـ Frame ثابت
بالتوفيق
انا طلع معي هيك بس بدي العنوان يطلع عاليمين ومربعات التصغير و الإغلاق عاليسار!!!
abbodeh كتب:انا طلع معي هيك بس بدي العنوان يطلع عاليمين ومربعات التصغير و الإغلاق عاليسار!!!
فى الحاله دى انت عندك خطأ فى الـ lookAndFeel الخاص بالـJFrame
هتستخدم اى lookAndFeel اخر من مكتبه خارجيه
وهتكون النتيجه كدا
طبعا مع اختلاف اللغه انا مش غيرتها لكن اهم حاجه لاحظ الـعنوان والمربعات
وفيه الوان تانيه
لكن دا اول واحد لقيته فاخترته
دا باستخدام الـlookAndFeel
ودا موضوع بيتكلم عنها
http://www.arabteam2...howtopic=227557
بالتوفيق
تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 7 فبراير 2011 في 13:13
abbodeh كتب:لو سمحتو تقلولي هادا الكود وين حطو لأنو جربت حطيتو بال jbinit وما مشي الحال.
السلام عليكم:رجاءً تقلولي وين حط ال actionListener لاني حطيتو بال jbinit ونفذت البرنامج بس ما نفذ الactionPerformed تبع ال menu اللي هو انو يفتح واجهة جديدة لما بضغط على هي ال menu ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ :unsure:
Mahmoud Kelany كتب:فى الحاله دى انت عندك خطأ فى الـ lookAndFeel الخاص بالـJFrame
هتستخدم اى lookAndFeel اخر من مكتبه خارجيه
وهتكون النتيجه كدا
طبعا مع اختلاف اللغه انا مش غيرتها لكن اهم حاجه لاحظ الـعنوان والمربعات
وفيه الوان تانيه
لكن دا اول واحد لقيته فاخترته
دا باستخدام الـlookAndFeel
ودا موضوع بيتكلم عنها
http://www.arabteam2...howtopic=227557
بالتوفيق
السلام عليكم:اذا بتتكرم علينا و بتذكر شو التعليمة اللي حطيتها حتى تغيرت الواجهة من الشكل الأول للشكل التاني!!!
abbodeh كتب:السلام عليكم:اذا بتتكرم علينا و بتذكر شو التعليمة اللي حطيتها حتى تغيرت الواجهة من الشكل الأول للشكل التاني!!!
وعليكم السلام
فى الموضوع الذى ذكرته لك
فى هذه المشاركه
/index.php?showtopic=227557&view=findpost&p=1129009
وايضا هناك مشروع لذلك فى هذه المشاركه
abbodeh كتب:لو سمحتو تقلولي هادا الكود وين حطو لأنو جربت حطيتو بال jbinit وما مشي الحال.
في الدالة التي تقوم بتهيئة المتغيرات سواء دالة البناء او اي دالة تستدعيها من داخل دالة البناء , طيب وين الكود اللي كتبتيه انتي عشان نقول لك وين خطأك
M.Allaw كتب:في الدالة التي تقوم بتهيئة المتغيرات سواء دالة البناء او اي دالة تستدعيها من داخل دالة البناء , طيب وين الكود اللي كتبتيه انتي عشان نقول لك وين خطأك
هذا هو الكود
private void jbInit() throws Exception {
this.setVisible(true);
this.getContentPane().setLayout(null);
this.getContentPane().setBackground(SystemColor.info);
this.setSize(new Dimension(600, 540));
this.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
JMenu menu1 = new JMenu("إدخال افتراضي");
menu1.setFont(new java.awt.Font("Arial", Font.BOLD, 13));
menu1.setSelected(true);
menu1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
new Insertion();
}
});
JMenu menu2 = new JMenu("بحث ");
menu2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
new Search();
}
});
JMenu menu3=new JMenu("حذف");
JMenuBar bar = new JMenuBar();
menu2.setFont(new java.awt.Font("Arial", Font.BOLD, 14));
menu3.setFont(new java.awt.Font("Arial", Font.BOLD, 14));
bar.add(menu1);
bar.add(menu2);
bar.add(menu3);
this.setJMenuBar(bar);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
});
أختي الحدث ضيفيه للـJMenuItem أنتي اضفتيه للـJMenu
مثال :
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.event.*;
public class JMenuTest extends JFrame{
JMenuItem item1 = new JMenuItem("Item 1"),
item2 = new JMenuItem("Item 2"),
item3 = new JMenuItem("Item 3");
JMenu menu = new JMenu("Main menu");
JMenuBar menuBar = new JMenuBar();
JPanel mPanel = new JPanel(new BorderLayout());
public JMenuTest() {
item1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
JOptionPane.showMessageDialog(null,"Item1");
}
});
item2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
JOptionPane.showMessageDialog(null,"Item2");
}
});
item3.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
JOptionPane.showMessageDialog(null,"Item3");
}
});
menu.add(item1);
menu.add(item2);
menu.add(item3);
menuBar.add(menu);
mPanel.add(BorderLayout.NORTH,menuBar);
add(mPanel);
setSize(300,300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
show();
}
public static void main(String[] args) {
new JMenuTest();
}
}ملاحظة :
this.getContentPane().setLayout(null);
هذا معناه انك بتحدد حجم كل أدة وموقعها بالـPixel فأي أدة تضيفيها بدون تحديد الحجم او الموقع بيعتبر حجمها (0,0) ونفس الشئ لموقعها في الـcontainer اللي حددتيله الـlayout بـnull , في المثال اللي كتبته أنا أستعملت الـBorderLayout
تحياتي :)
تم تعديل هذه المشاركة بواسطة M.Allaw في 10 فبراير 2011 في 05:14
M.Allaw كتب:أختي الحدث ضيفيه للـJMenuItem أنتي اضفتيه للـJMenu
مثال :
import javax.swing.*; import java.awt.BorderLayout; import java.awt.event.*; public class JMenuTest extends JFrame{ JMenuItem item1 = new JMenuItem("Item 1"), item2 = new JMenuItem("Item 2"), item3 = new JMenuItem("Item 3"); JMenu menu = new JMenu("Main menu"); JMenuBar menuBar = new JMenuBar(); JPanel mPanel = new JPanel(new BorderLayout()); public JMenuTest() { item1.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ JOptionPane.showMessageDialog(null,"Item1"); } }); item2.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ JOptionPane.showMessageDialog(null,"Item2"); } }); item3.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ JOptionPane.showMessageDialog(null,"Item3"); } }); menu.add(item1); menu.add(item2); menu.add(item3); menuBar.add(menu); mPanel.add(BorderLayout.NORTH,menuBar); add(mPanel); setSize(300,300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); show(); } public static void main(String[] args) { new JMenuTest(); } }ملاحظة :
this.getContentPane().setLayout(null);هذا معناه انك بتحدد حجم كل أدة وموقعها بالـPixel فأي أدة تضيفيها بدون تحديد الحجم او الموقع بيعتبر حجمها (0,0) ونفس الشئ لموقعها في الـcontainer اللي حددتيله الـlayout بـnull , في المثال اللي كتبته أنا أستعملت الـBorderLayout
تحياتي :)
صحيح هذا الكلام,انو الحدث للitem وليس للjmenu ,بس هيك تحت كل menu عم يطلع item طب ما في غير هالطريقة, انا بدي لما اضغط عال jmenu تفتح واجهة جديدة بدون ما يطلعلي item.
ويا ريت اذا عندك فكرة عن التوابع اللي ممكن استخدمها لاغلاق الواجهة الحالية مثل window.close()
بس ما لقيتو (التابع close) بال jbuilder
تم تعديل هذه المشاركة بواسطة abbodeh في 10 فبراير 2011 في 12:18
تقدري تضيفي بدل الـJMenuBar تضيفي JToolBar وتضيفي له 3 Buttons وانتهى الموضوع :)
Mahmoud Kelany كتب:فى الحاله دى انت عندك خطأ فى الـ lookAndFeel الخاص بالـJFrame
هتستخدم اى lookAndFeel اخر من مكتبه خارجيه
وهتكون النتيجه كدا
طبعا مع اختلاف اللغه انا مش غيرتها لكن اهم حاجه لاحظ الـعنوان والمربعات
وفيه الوان تانيه
لكن دا اول واحد لقيته فاخترته
دا باستخدام الـlookAndFeel
ودا موضوع بيتكلم عنها
http://www.arabteam2...howtopic=227557
بالتوفيق
إلى الأخ محمود ممكن تذكرلي بالتفصيل الخطوات اللي عملتها منشان التحويل من الواجهة الانكليزية للعربية
رجاءً لا تهمل طلبي والله يجزيك الخير.
هذا الموضوع مغلق.