java:JFrame窗體學習-1-尺寸、座標

一、與小恐龍程序挑戰的關係

這部分學習是爲理解小恐龍程序挑戰做準備的,我雖然照着例題打了小恐龍程序的許多代碼,但好多方法並不會用。程序中用到窗口,也就是Swing的使用。這裏將記錄關於JFrame窗口的學習過程。

二、學習過程

1.讓窗口出現

  • 單詞:visible(看得見的)
  • 導入swing包,先打import javax.swing.*;這裏放星號,即*是用到swing裏的很多方法,則不一個個打出。
  • main裏打JFrame f=new JFrame("這裏爲窗口標題");則JFrame窗口便創建完畢。
  • 但從上一步完後調試代碼的話,窗體並不顯現出來,因爲創建的窗體是不可見的。那麼接下來要用到讓窗體顯現的方法,即f.setVisible(true);。如此之後運行代碼便在左上角出現一個窗口。
  • 到此部分的代碼爲:
import javax.swing.*;

class Demo{
	public static void main(String[] args){
		JFrame f=new JFrame("窗口標題");	// 創建窗體標題
		f.setVisible(true);// 是否可見方法
	}
}
  • 效果爲(左上角小框框):
    在這裏插入圖片描述
    可以通過拖拽把它拉開,效果如下:
    在這裏插入圖片描述

2.窗口關閉規則問題

雖然將窗體顯現出來,但仍有問題要解決。比如當我將窗體點擊×後窗體雖然消失了,
在這裏插入圖片描述
但我在cmd的調試界面並沒有結束,也就是說程序仍然在運行。我還需要用到一些方法在點擊窗體的×時,窗體關閉並停止運行程序。這裏需要用到相關的方法:f.setDefaultCloseOperation(JFrame.A);

  • default(默認) Operation(運算)nothing(沒有什麼) hide(隱藏) dispose(處理)
  • 當上一串代碼裏的A爲:
  • EXIT_ON_CLOSE
    表示隱藏窗口,並停止運行程序。也就是說在這裏點了×,便可在關閉窗口的同時並停止程序運行。
  • DO_NOTHING_ON_CLOSE
    表示無任何操作,點×不會隱藏窗口,程序也不會停止。因爲這個原因我關不了這個創立的窗口,最後是打開了任務管理器才關掉這個窗口。
  • HIDE_ON_CLOSE
    表示隱藏窗口,但不停止程序的運行。因爲我忘記了如何在cmd裏關閉程序的用法,這個方法我不得不關閉cmd後再開一個。
  • DISPOSE_ON_CLOSE
    表示釋放窗口資源。效果爲,點擊×後過一小會程序才停止運行。
  • 到此部分的代碼爲:
import javax.swing.*;

class Demo{
	public static void main(String[] args){
		JFrame f=new JFrame("窗口標題");// 創建窗體標題
		f.setVisible(true);	// 是否可見方法
		
		/*
		*	窗口的關閉規則
		*	EXIT_ON_CLOS:隱藏窗口,並停止程序運行
		*	DO_NOTHING_ON_CLOSE:無任何操作
		*	HIDE_ON_CLOSE:隱藏窗口,不停止程序運行
		*	DISPOSE_ON_CLOSE:釋放窗口資源
		*/
		//f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 隱藏窗口,停止程序運行
		//f.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);// 無任何操作,點×不會隱藏窗口,程序也不會停止
		//f.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);// 隱藏窗口,不停止程序運行
		f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);// 釋放窗口資源
	}
}

3.設置窗口的調整

前面部分的設置的窗口都是縮起來的窗口。爲求美觀還應調整窗口的默認尺寸、位置等。

(1)設置窗口的尺寸

輸入f.setSize(600,300);即可設置一個長600,寬300 的窗口。單位:像素。這題可以調整長和寬的數字,來設置相應尺寸的窗口。

  • Size(尺寸)

(2)設置窗口座標(位置)

輸入f.setLocation(300,300);後則表示創立的窗口在桌面的座標。括號裏(x,y),x和y爲數值,單位像素 。以電腦桌面左上角爲原點,窗口根據左上角位置相對於原點的移動。這裏表示窗口從電腦左上角右移300像素,向下移300像素。

  • location(位置)
  • 到此的代碼爲:
import javax.swing.*;

class Demo{
	public static void main(String[] args){
		JFrame f=new JFrame("窗口標題");// 創建窗體標題
		f.setVisible(true);	// 是否可見方法
		
		/*
		*	窗體的關閉規則
		*	EXIT_ON_CLOS:隱藏窗口,並停止程序運行
		*	DO_NOTHING_ON_CLOSE:無任何操作
		*	HIDE_ON_CLOSE:隱藏窗口,不停止程序運行
		*	DISPOSE_ON_CLOSE:釋放窗口資源
		*/
		//f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 隱藏窗口,停止程序運行
		//f.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);// 無任何操作,點×不會隱藏窗口,程序也不會停止
		//f.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);// 隱藏窗口,不停止程序運行
		f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);// 釋放窗口資源
		
		/*
		*	調整窗口的大小,這裏設置了一個 長:600 寬:300 的窗口。單位:像素。
		*/
		f.setSize(600,300);// 設置窗口的大小,(單位:像素)括號裏:長,寬

		/*
		*	設置窗口位置,也可以說是座標。
		*/
		f.setLocation(200,200);//設置座標
	}
}

(3)同時調整窗口尺寸、座標(位置)的方法

前面的方法調整窗口的大小和位置是分開調整的。這裏則還有同時調整窗口大小、位置的方法。輸入f.setBounds(600,300,350,200);括號內的參數,x軸,y軸,長,寬。單位:像素。這裏這表示一個長350像素,寬200像素,窗口從桌面左上角左右移600像素,下移300像素。

  • bounds(邊界)

三、本文最終代碼

import javax.swing.*;

class Demo{
	public static void main(String[] args){
		JFrame f=new JFrame("窗口標題");// 創建窗體標題
		f.setVisible(true);	// 是否可見方法
		
		/*
		*	窗體的關閉規則
		*	EXIT_ON_CLOS:隱藏窗口,並停止程序運行
		*	DO_NOTHING_ON_CLOSE:無任何操作
		*	HIDE_ON_CLOSE:隱藏窗口,不停止程序運行
		*	DISPOSE_ON_CLOSE:釋放窗口資源
		*/
		//f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 隱藏窗口,停止程序運行
		//f.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);// 無任何操作,點×不會隱藏窗口,程序也不會停止
		//f.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);// 隱藏窗口,不停止程序運行
		f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);// 釋放窗口資源
		
		/*
		*	調整窗口的大小,這裏設置了一個 長:600 寬:300 的窗口。單位:像素。
		*/
		//f.setSize(600,300);// 設置窗口的大小,(單位:像素)括號裏:長,寬

		/*
		*	設置窗口位置,也可以說是座標。
		*/
		//f.setLocation(200,200);//設置座標

		/*
		*	同時調整窗口大小、位置的方法
		*/
		f.setBounds(600,300,350,200);// x軸,y軸,長,寬	單位:像素
	}
}

四、定位日期

2020.7.6

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章