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

كيف أقدر أوصل لزر ااغلاق في الفورم

بدأه The.Eagle في 7 ديسمبر 2011 · 6 رد · 937 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

عندي أسئلة بسيطة عن الـJFrame

وسؤالي الأول كيف أوصل لزر الاغلاق في أعلى الفورم

جربت من window closig و closed

وأريد أن أضع فيها هذا الكود

 Form1 f  = new Form1();
.f.setVisible(true);
this..setVisible(false);

وسؤالي الثاني أريد أن يبدأ الفورم في منتصف الشاشة

و كيف أجعل حجم الفورم ثابت

وأريد أن ألغي زر maximumsize

> كم كنت أتمنى أن تكون الواجهات في الجافا مثل السي شارب من حيث سهولة الاستخدام < :sad:

#2

وعليكم السلام ورحمة الله

- بالنسبة للجزئية الخاصة بزر الإغلاق، لم استوعب السؤال جيداً

لكن اذا كان المطلوب هو عدم إغلاق ال Jframe من زر الإغلاق X يمكن عمل التالى

//Disable default close (X) button on the frame
		f.setDefaultCloseOperation(f.DO_NOTHING_ON_CLOSE);

ومن ثم يمكنك كتابة الكود الخاص بك لإغلاق ال Jframe عن طريق إستخدام ال windowListner

مثال :

		//Window closing
		f.addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e){
				int answer = JOptionPane.showConfirmDialog(null, "Do you want to exit?", "Exit", JOptionPane.YES_NO_OPTION);

				if (answer == 0) {
					System.exit(0);
				}

			}
		});

- لبدء الفورم فى منتصف الشاشة يمكن إستخدام toolkit

مثال :

//Center frame
		Toolkit toolKit = Toolkit.getDefaultToolkit(); // initialize 
		Dimension screenSize = toolKit.getScreenSize(); //get screen dimension
		int height = screenSize.height; 
		int width = screenSize.width;
		f.setSize(width / 2, height / 2); //set frame size equal to 1/2 screen dimension
		f.setLocation(width / 4,  height/4); //set its location to the middle of the screen. Note the value (4) is associated with frame size, if you changed frame size change this value too

اخر جزء هو اذا كان المطلوب عدم تكبير ال jframe

		f.setResizable(false); //Disable maximize and resize

الكود كامل :

mport java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JFrame;
import javax.swing.JOptionPane;

public class Form1 extends JFrame{

	public static void main(String[] args) {
		Form1 f = new Form1();

		//Disable default close (X) button on the frame
		f.setDefaultCloseOperation(f.DO_NOTHING_ON_CLOSE);

		//Window closing
		f.addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e){
				int answer = JOptionPane.showConfirmDialog(null, "Do you want to exit?", "Exit", JOptionPane.YES_NO_OPTION);

				if (answer == 0) {
					System.exit(0);
				}

			}
		});


		//Center frame
		Toolkit toolKit = Toolkit.getDefaultToolkit(); // initialize 
		Dimension screenSize = toolKit.getScreenSize(); //get screen dimension
		int height = screenSize.height; 
		int width = screenSize.width;
		f.setSize(width / 2, height / 2); //set frame size equal to 1/2 screen dimension
		f.setLocation(width / 4,  height/4); //set its location to the middle of the screen. Note the value (4) is associated with frame size, if you changed frame size change this value too 



		f.setResizable(false); //Disable maximize and resize


		f.setVisible(true);
	}
}
1
#3

أولا جزاك الله خير

ثانيا : السؤال الاول

أنـا عندي الـ Frame1 واجهة البرنامج الرئيسية

والـ Frame2 بعد ما يضغط على زر الـ x (الاغلاق)

يعود للـFrame1 يعني

frame1..setVisible(true) ;
this..setVisible(false)

تم تعديل هذه المشاركة بواسطة The.Eagle في 8 ديسمبر 2011 في 05:45

#4

يا اخوان فين أضع الكود بالضبط

120811051214f6kd5lbv7xhs80hkhz.png

#5
The.Eagle كتب:

السلام عليكم ورحمة الله وبركاته

عندي أسئلة بسيطة عن الـJFrame

وسؤالي الأول كيف أوصل لزر الاغلاق في أعلى الفورم

جربت من window closig و closed

وعليكم السلام اخي ... هناك طريقتين لاغلاق الفريم بدون كود:

الاولى:- اضغط ع jFrame بالماوس الزر الايمن واختارproperties وثم defaultCloseOperation واختار منها Do_Nothing وبكذا زر الاغلاق لا يعمل ولكذا بتحتاج close button لاغلاق الفريم

الثانية:- اضغط ع jFrame بالماوس الزر الايمن واختار Events وثم window وثم windowClosing واكتب هذا الكود داخل ليؤكد اغلاقك للفريم

int r;
r=JOptionPane.showCnfirmDialog(null,"Do you want to exit
?","exit",0,3);
if(r==1)
{
evt.notify();
}

وسؤالي الثاني أريد أن يبدأ الفورم في منتصف الشاشة

تحدد اين تريد وضع الفريم فالمنتصف او اليسار ... الخ بدون كود عن طريق :- اضغط ع jFrame بالماوس الزر الايمن واختارproperties وثم bounds واتحكم بالاكس والواي واحدد الارقام اللي تريدها ..

وأريد أن ألغي زر maximumsize

بطريقة :اضغط ع jFrame بالماوس الزر الايمن واختارproperties وثم resizeable ولا تضع صح عليها وبكذا maximize لا تعمل

...

اتمنى اكون افدتك اخي .. تحياااتي

تم تعديل هذه المشاركة بواسطة FAZ في 8 ديسمبر 2011 في 17:55

1
#6
The.Eagle كتب:

يا اخوان فين أضع الكود بالضبط

120811051214f6kd5lbv7xhs80hkhz.png

اخي اي كود تقصد ؟!!

اذا كنت تريد لما تضغط ع زر OK ينقلك لفريم آخر فهذا الكود استخدم :-

Frame2 s=new Frame2();
s.setVisible(true);
hide();

frame2 اقصد الفريم اللي راح تنتقل اليه بعد ما تضغط على زر OK,,,,

hide(); لاخفاء الفريم الاول واظهار الثاني فقط لكن اذا كنت تريد اظهار الفريمين معا فلا تضع hide(); للكود

اتمنى الافادة للجميع ... وتحياتي ... بالتوفييق :)

تم تعديل هذه المشاركة بواسطة FAZ في 8 ديسمبر 2011 في 17:54

1
#7

شووووكرا :lol:

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…