Java?swing創(chuàng)建一個窗口的簡單步驟
swing組件分類:
- 頂層容器:JFrame、JApplet、JDialog、JWindow
- 中間容器:JPanel、JScrollPane、JSplitPane、JToolBar
- 基本控件: ImageIcon(圖標),JLabel(標簽),ITextField(文本框),JTextArea(文本區(qū)域),JScrollPane(可滾動窗格),JScrollBar(滾動條),ICheckBox(復選框),JRadioButton(單選按鈕),JComboBox(下拉式列表和組合框)。
創(chuàng)建界面
了解完之后,我們開始創(chuàng)建窗口。
把界面類聲明為JFrame或JWindow的子類。
要創(chuàng)建swing程序,首先需要創(chuàng)建一個表示圖形界面(窗口)的類。這個類的對象被當作容器,用于存儲其他組件。
大多數(shù)情況下,采用JWindow類或者JFrame類。
- JWindow是可被顯示到用戶界面上。簡單窗口沒有標題欄,最大化、最小化和關閉按鈕,也沒有操作系統(tǒng)普通窗口常用的其他元素。
- 包括這些窗口管理特性的窗口被稱為JFrame。(因此一般優(yōu)先JFrame)
注意:JWindow和JFrame都是抽象類,所以我們需要創(chuàng)建它們的子類。
把窗口類聲明為JFrame或JWindow的子類。
在窗口類類的構造方式中調用父類的構造方法( 用super( ) ),來設置窗口類。
JFrame的構造方法
- JFrame():創(chuàng)建一個無標題的窗口。
- JFrame(String title):創(chuàng)建一個指定窗口標題的窗口。
設置方法
下面來介紹一下JFrame提供的,設置窗口的方法:
方法名和參數(shù) | 方法概述 |
---|---|
setSize(int width, int height) | 設置窗口的大小,參數(shù)width和height分別表示窗口的寬度和高度。 |
setLocation(int x, int y) | 參數(shù)x和y分別表示窗口的坐標 |
setBounds(int a, int b, int width, int height) | 設置窗口的位置和大小,參數(shù)a和b表示窗口的初始位置,參數(shù)width和height表示窗口的寬度和高度。 |
setResizable(boolean b) | 設置窗口是否可調整大小,參數(shù)b為true表示可以調整大小,為false表示不可調整大小。 |
setVisible(boolean b) | 設置窗口是否可見,參數(shù)b為true表示可見,為false表示不可見。 |
setDefaultCloseOperation(int operation) | 設置窗口關閉時的操作,參數(shù)operation有多種取值可選 |
setExtendedState(int state): | 設置窗口的擴展狀態(tài),可以使窗口最大化、最小化或恢復大小 |
這些設置方法一般在窗口類的構造方法中就書寫清楚,例如常見的標題、大小、可見度、位置坐標和關閉時的操作等等。
setDEfaultCloseOPeration(int operation)
下面是operation的范圍以及描述。
關閉窗體方式 | 描述 |
---|---|
EXIT_ON_CLOSE | 退出應用程序,默認窗口關閉 |
DO_NOTHING_ON_CLOSE | 什么都不做就將窗體關閉 |
DISPOSE_ON_CLOSE | 移除窗口的默認窗口關閉操作 |
HIDE_ON_CLOSE | 隱藏窗口的默認窗口關閉 |
import javax.swing.*; class jFrame extends JFrame { public jFrame (String title, int x, int y, int width, int height) { super(title); //調用父類構造方法設置標題 setBounds(x, y, width, height); //一步到位把位置和大小設置好 setVisible(true); //設置窗口可見性 setDefaultCloseOperation(EXIT_ON_CLOSE); //設置關閉方式 } } public class test { public static void main(String[] args) { jFrame frame = new jFrame("frame",100,100,500,500); } }
可以看到我們得到了一個標題為frame的空白窗口。
操作方法
下面是窗口類的操作方法,后邊會對組件等進行詳細講解。
方法名和參數(shù) | 方法概述 |
---|---|
add(Component comp) | 向容器中添加組件,參數(shù)comp為要添加的組件。 |
getContentPane() | 獲取窗口的內容面板,可以通過該方法向內容面板添加組件。 |
dispose() | 撤銷當前窗口并釋放所有使用的資源 |
import javax.swing.*; class jFrame extends JFrame { public jFrame (String title, int x, int y, int width, int height) { super(title); //調用父類構造方法設置標題 setBounds(x, y, width, height); //一步到位把位置和大小設置好 setVisible(true); //設置窗口可見性 setDefaultCloseOperation(EXIT_ON_CLOSE); //設置關閉方式 JLabel jLabel = new JLabel("這是一個帶有標題的窗口");//這是一個標簽組件 jLabel.setHorizontalAlignment(SwingConstants.CENTER); //設置文本位置 add(jLabel); //調用add函數(shù)將標簽組件添加到抽口當中 } } public class test { public static void main(String[] args) { jFrame frame = new jFrame("frame",100,100,500,500); } }
可以看到我們得到了一個標題為frame,內容為"這是一個帶有標題的窗口"的窗口。
直接定義JFrame類來創(chuàng)建窗口
也可以 直接定義JFrame類來創(chuàng)建窗口。
import javax.swing.*; import java.awt.*; public class test { public static void main(String[] args) { JFrame jFrame = new JFrame("jFrame"); jFrame.setBounds(300,300,500,500); jFrame.setVisible(true); jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); Label label = new Label("label"); jFrame.add(label); } }
這么看其實直接定義JFrame比較簡單,但是構造子類結構更加清晰。
總結
到此這篇關于Java swing創(chuàng)建一個窗口的文章就介紹到這了,更多相關Java swing創(chuàng)建窗口內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
用Maven插件生成Mybatis代碼的實現(xiàn)方法
本文主要介紹 Maven插件生成Mybatis代碼,現(xiàn)在做開發(fā)的朋友有好多用Maven 來管理代碼,這里給大家舉個例子,有需要的同學可以看下2016-07-07SpringBoot切面攔截@PathVariable參數(shù)及拋出異常的全局處理方式
這篇文章主要介紹了SpringBoot切面攔截@PathVariable參數(shù)及拋出異常的全局處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08基于SpringMVC實現(xiàn)網(wǎng)頁登錄攔截
SpringMVC的處理器攔截器類似于Servlet開發(fā)中的過濾器Filter,用于對處理器進行預處理和后處理。因此,本文將為大家介紹如何通過SpringMVC實現(xiàn)網(wǎng)頁登錄攔截功能,需要的小伙伴可以了解一下2021-12-12多個JDK版本(Java 8、Java 17、Java 21)下載和切換
為了在實際中可以任意選擇所需的JDK版本,需要將多個JDK版本進行切換,本文主要介紹了多個JDK版本(Java 8、Java 17、Java 21)下載和切換,感興趣的可以了解一下2025-04-04