جـــــــــــا فـــــ J.A.V.A.W.Y. ــــــــاوي

old_forum_users
مشاركات: 0
النقاط: 0
اشترك في: 2015-01-20 04:39:39

كيف أقدر أوصل لزر ااغلاق في الفورم ٢٧‏/٢‏/٢٠١٦ ٣:٢٥ م

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

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

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

جربت من window closig و closed

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

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

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

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

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

abolkog
Site Admin
مشاركات: 4
النقاط: 10
اشترك في: 2016-01-20 04:39:39

RE: كيف أقدر أوصل لزر ااغلاق في الفورم ٢٧‏/٢‏/٢٠١٦ ٣:٢٨ م

اذا كان المطلوب هو عدم إغلاق ال 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

الكود كامل :

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