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

التعامل مع jmenuBar

مغلق
بدأه abbodeh في 2 فبراير 2011 · 21 رد · 1,235 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

واجهة فيها قائمة jmenuBar فيها 3 قوائم:

menu1(إدخال) ,jmenu2(بحث),jmenu3(حذف).

بدي اربط كل menu بواجهة فرعية ,ما هي الطريقة بحيث اذا ضغطت على واحدة من القوائم تفتحلي الواجهة الخاصة فيها

مثلاً: اذا ضغطت بحث تفتح الواجهة الخاصة بالبحث؟؟؟

#2

السلام عليكم:

شو ما حدا عندو الجواب ولا ما فهمتو السؤال من أصلو!

الرجاء اللي عندو فكرة عن الموضوع الرد ولكم جزيل الشكر

−2
#3

لا تحتاج إلى 3 JMenu وانما 3 JMenuItem داخل JMenu واحد وتضيف داخله الـJMenuItems

أضف ActionListener لكل MenueItem وداخل دالة الـactionPerformed تكتب الكود الذي يقوم بإظهار الواجهة كالتالي :

menuItem1.addActionListener(new ActionListener(){
        	public void actionPerformed(ActionEvent e){
new myFrame1();            	
        	}
    	});

:)


HeartOutputStream myHeart;
OutputStream myHeartOutStream;

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

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

#4
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 صف لحالو؟ولا حطها مع الواجهة الافتراضية (إدخال افتراضي )!

#6
العيافـي كتب:

هذا الامر راجع لك ..

هنا مثالين لتوضيح لـ JMenu

http://academicjava.com/JavaTutorial/JMenuExample.html

http://www.exampledepot.com/egs/javax.swing/menu.html

الله يعطيك العافية وشكراً كتير الك بس كيف فيني ساويه من اليمين لليسار(ملف,تحرير,...........)

أو بالأحرى كيف فيني ساوي الJframe عربي(العنوان تبعو بدي ياه من اليمين لليسار)

تم تعديل هذه المشاركة بواسطة abbodeh في 7 فبراير 2011 في 11:28

#7

بالنسبه للمثال الاول اضف السطور التالية

      bar.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
      menu1.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
      menu2.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
#8
العيافـي كتب:

بالنسبه للمثال الاول اضف السطور التالية

      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);

#9
abbodeh كتب:

عملت نفس الشي بالنسبة لل Jframe بس ما مشي الحال؟

this.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);

فيه مشكله مع الـ JFrame

انما جميع المكونات يتم تغيييرها

مثلا هذه الصور

واحده باللغه العربيه والاخرى بالانجليزى مع تغيير الاتجاهات

لكن الـ Frame ثابت

post-217802-075083600%201296650403.png

post-217802-066945400%201296650424.png

بالتوفيق

Software Developer
Mahmoudkelany.com


 

#10
M.Allaw كتب:

لا تحتاج إلى 3 JMenu وانما 3 JMenuItem داخل JMenu واحد وتضيف داخله الـJMenuItems

أضف ActionListener لكل MenueItem وداخل دالة الـactionPerformed تكتب الكود الذي يقوم بإظهار الواجهة كالتالي :

menuItem1.addActionListener(new ActionListener(){
        	public void actionPerformed(ActionEvent e){
new myFrame1();            	
        	}
    	});

:)

لو سمحتو تقلولي هادا الكود وين حطو لأنو جربت حطيتو بال jbinit وما مشي الحال.

#11
Mahmoud Kelany كتب:

فيه مشكله مع الـ JFrame

انما جميع المكونات يتم تغيييرها

مثلا هذه الصور

واحده باللغه العربيه والاخرى بالانجليزى مع تغيير الاتجاهات

لكن الـ Frame ثابت

post-217802-075083600%201296650403.png

post-217802-066945400%201296650424.png

بالتوفيق

انا طلع معي هيك بس بدي العنوان يطلع عاليمين ومربعات التصغير و الإغلاق عاليسار!!!

#12
abbodeh كتب:

انا طلع معي هيك بس بدي العنوان يطلع عاليمين ومربعات التصغير و الإغلاق عاليسار!!!

فى الحاله دى انت عندك خطأ فى الـ lookAndFeel الخاص بالـJFrame

هتستخدم اى lookAndFeel اخر من مكتبه خارجيه

وهتكون النتيجه كدا

طبعا مع اختلاف اللغه انا مش غيرتها لكن اهم حاجه لاحظ الـعنوان والمربعات

وفيه الوان تانيه

لكن دا اول واحد لقيته فاخترته

post-217802-079966500 1297073362_thumb.p

post-217802-010544700 1297073367_thumb.p

دا باستخدام الـlookAndFeel

ودا موضوع بيتكلم عنها

http://www.arabteam2...howtopic=227557

بالتوفيق

المرفقات
look_L.pnglook_R.png

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

Software Developer
Mahmoudkelany.com


 

#13
abbodeh كتب:

لو سمحتو تقلولي هادا الكود وين حطو لأنو جربت حطيتو بال jbinit وما مشي الحال.

السلام عليكم:رجاءً تقلولي وين حط ال actionListener لاني حطيتو بال jbinit ونفذت البرنامج بس ما نفذ الactionPerformed تبع ال menu اللي هو انو يفتح واجهة جديدة لما بضغط على هي ال menu ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ :unsure:

#14
Mahmoud Kelany كتب:

فى الحاله دى انت عندك خطأ فى الـ lookAndFeel الخاص بالـJFrame

هتستخدم اى lookAndFeel اخر من مكتبه خارجيه

وهتكون النتيجه كدا

طبعا مع اختلاف اللغه انا مش غيرتها لكن اهم حاجه لاحظ الـعنوان والمربعات

وفيه الوان تانيه

لكن دا اول واحد لقيته فاخترته

post-217802-079966500 1297073362_thumb.p

post-217802-010544700 1297073367_thumb.p

دا باستخدام الـlookAndFeel

ودا موضوع بيتكلم عنها

http://www.arabteam2...howtopic=227557

بالتوفيق

السلام عليكم:اذا بتتكرم علينا و بتذكر شو التعليمة اللي حطيتها حتى تغيرت الواجهة من الشكل الأول للشكل التاني!!!

#15
abbodeh كتب:

السلام عليكم:اذا بتتكرم علينا و بتذكر شو التعليمة اللي حطيتها حتى تغيرت الواجهة من الشكل الأول للشكل التاني!!!

وعليكم السلام

فى الموضوع الذى ذكرته لك

فى هذه المشاركه

/index.php?showtopic=227557&view=findpost&p=1129009

وايضا هناك مشروع لذلك فى هذه المشاركه

/index.php?showtopic=227557&view=findpost&p=1129011

Software Developer
Mahmoudkelany.com


 

#16
abbodeh كتب:

لو سمحتو تقلولي هادا الكود وين حطو لأنو جربت حطيتو بال jbinit وما مشي الحال.

في الدالة التي تقوم بتهيئة المتغيرات سواء دالة البناء او اي دالة تستدعيها من داخل دالة البناء , طيب وين الكود اللي كتبتيه انتي عشان نقول لك وين خطأك


HeartOutputStream myHeart;
OutputStream myHeartOutStream;

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

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

#17
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);

});

#18

أختي الحدث ضيفيه للـ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


HeartOutputStream myHeart;
OutputStream myHeartOutStream;

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

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

#19
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

#20

تقدري تضيفي بدل الـJMenuBar تضيفي JToolBar وتضيفي له 3 Buttons وانتهى الموضوع :)


HeartOutputStream myHeart;
OutputStream myHeartOutStream;

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

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

#21
Mahmoud Kelany كتب:

فى الحاله دى انت عندك خطأ فى الـ lookAndFeel الخاص بالـJFrame

هتستخدم اى lookAndFeel اخر من مكتبه خارجيه

وهتكون النتيجه كدا

طبعا مع اختلاف اللغه انا مش غيرتها لكن اهم حاجه لاحظ الـعنوان والمربعات

وفيه الوان تانيه

لكن دا اول واحد لقيته فاخترته

post-217802-079966500 1297073362_thumb.p

post-217802-010544700 1297073367_thumb.p

دا باستخدام الـlookAndFeel

ودا موضوع بيتكلم عنها

http://www.arabteam2...howtopic=227557

بالتوفيق

إلى الأخ محمود ممكن تذكرلي بالتفصيل الخطوات اللي عملتها منشان التحويل من الواجهة الانكليزية للعربية

رجاءً لا تهمل طلبي والله يجزيك الخير.

#22

استخدمي موضوع جديد لأسئلتك لا يصح أن يكون كل الأسئلة في موضوع واحد

تحياتي

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

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

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

728x90.png

هذا الموضوع مغلق.

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