亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java?swing創(chuàng)建一個(gè)窗口的簡(jiǎn)單步驟

 更新時(shí)間:2024年06月22日 11:35:58   作者:阿常11  
這篇文章主要給大家介紹了關(guān)于Java?swing創(chuàng)建一個(gè)窗口的簡(jiǎn)單步驟,Java Swing是Java平臺(tái)下的GUI(Graphical User Interface,圖形用戶界面)工具包,提供了豐富的GUI組件,可以實(shí)現(xiàn)復(fù)雜的圖形界面應(yīng)用程序,需要的朋友可以參考下

swing組件分類:

  • 頂層容器:JFrame、JApplet、JDialog、JWindow
  • 中間容器:JPanel、JScrollPane、JSplitPane、JToolBar
  • 基本控件: ImageIcon(圖標(biāo)),JLabel(標(biāo)簽),ITextField(文本框),JTextArea(文本區(qū)域),JScrollPane(可滾動(dòng)窗格),JScrollBar(滾動(dòng)條),ICheckBox(復(fù)選框),JRadioButton(單選按鈕),JComboBox(下拉式列表和組合框)。

創(chuàng)建界面

了解完之后,我們開始創(chuàng)建窗口。

把界面類聲明為JFrame或JWindow的子類。

要?jiǎng)?chuàng)建swing程序,首先需要?jiǎng)?chuàng)建一個(gè)表示圖形界面(窗口)的類。這個(gè)類的對(duì)象被當(dāng)作容器,用于存儲(chǔ)其他組件。

大多數(shù)情況下,采用JWindow類或者JFrame類。

  • JWindow是可被顯示到用戶界面上。簡(jiǎn)單窗口沒有標(biāo)題欄,最大化、最小化和關(guān)閉按鈕,也沒有操作系統(tǒng)普通窗口常用的其他元素。
  • 包括這些窗口管理特性的窗口被稱為JFrame。(因此一般優(yōu)先JFrame)

注意:JWindow和JFrame都是抽象類,所以我們需要?jiǎng)?chuàng)建它們的子類。

  • 把窗口類聲明為JFrame或JWindow的子類。

  • 在窗口類類的構(gòu)造方式中調(diào)用父類的構(gòu)造方法( 用super( ) ),來(lái)設(shè)置窗口類。

JFrame的構(gòu)造方法

  • JFrame():創(chuàng)建一個(gè)無(wú)標(biāo)題的窗口。
  • JFrame(String title):創(chuàng)建一個(gè)指定窗口標(biāo)題的窗口。

設(shè)置方法

請(qǐng)?zhí)砑訄D片描述

下面來(lái)介紹一下JFrame提供的,設(shè)置窗口的方法:

方法名和參數(shù)方法概述
setSize(int width, int height)設(shè)置窗口的大小,參數(shù)width和height分別表示窗口的寬度和高度。
setLocation(int x, int y)參數(shù)x和y分別表示窗口的坐標(biāo)
setBounds(int a, int b, int width, int height)設(shè)置窗口的位置和大小,參數(shù)a和b表示窗口的初始位置,參數(shù)width和height表示窗口的寬度和高度。
setResizable(boolean b)設(shè)置窗口是否可調(diào)整大小,參數(shù)b為true表示可以調(diào)整大小,為false表示不可調(diào)整大小。
setVisible(boolean b)設(shè)置窗口是否可見,參數(shù)b為true表示可見,為false表示不可見。
setDefaultCloseOperation(int operation)設(shè)置窗口關(guān)閉時(shí)的操作,參數(shù)operation有多種取值可選
setExtendedState(int state):設(shè)置窗口的擴(kuò)展?fàn)顟B(tài),可以使窗口最大化、最小化或恢復(fù)大小

這些設(shè)置方法一般在窗口類的構(gòu)造方法中就書寫清楚,例如常見的標(biāo)題、大小、可見度、位置坐標(biāo)和關(guān)閉時(shí)的操作等等。

setDEfaultCloseOPeration(int operation)

下面是operation的范圍以及描述。

關(guān)閉窗體方式描述
EXIT_ON_CLOSE退出應(yīng)用程序,默認(rèn)窗口關(guān)閉
DO_NOTHING_ON_CLOSE什么都不做就將窗體關(guān)閉
DISPOSE_ON_CLOSE移除窗口的默認(rèn)窗口關(guān)閉操作
HIDE_ON_CLOSE隱藏窗口的默認(rèn)窗口關(guān)閉
import javax.swing.*;

class jFrame extends JFrame {
    public jFrame (String title, int x, int y, int width, int height) {
        super(title);                     //調(diào)用父類構(gòu)造方法設(shè)置標(biāo)題
        setBounds(x, y, width, height);   //一步到位把位置和大小設(shè)置好
        setVisible(true);                 //設(shè)置窗口可見性
        setDefaultCloseOperation(EXIT_ON_CLOSE);  //設(shè)置關(guān)閉方式
    }
}
public class test {
    public static void main(String[] args) {
        jFrame frame = new jFrame("frame",100,100,500,500);
    }
}

可以看到我們得到了一個(gè)標(biāo)題為frame的空白窗口。

操作方法

下面是窗口類的操作方法,后邊會(huì)對(duì)組件等進(jìn)行詳細(xì)講解。

方法名和參數(shù)方法概述
add(Component comp)向容器中添加組件,參數(shù)comp為要添加的組件。
getContentPane()獲取窗口的內(nèi)容面板,可以通過(guò)該方法向內(nèi)容面板添加組件。
dispose()撤銷當(dāng)前窗口并釋放所有使用的資源
import javax.swing.*;

class jFrame extends JFrame {
    public jFrame (String title, int x, int y, int width, int height) {
        super(title);                     //調(diào)用父類構(gòu)造方法設(shè)置標(biāo)題
        setBounds(x, y, width, height);   //一步到位把位置和大小設(shè)置好
        setVisible(true);                 //設(shè)置窗口可見性
        setDefaultCloseOperation(EXIT_ON_CLOSE);  //設(shè)置關(guān)閉方式

        JLabel jLabel = new JLabel("這是一個(gè)帶有標(biāo)題的窗口");//這是一個(gè)標(biāo)簽組件
        jLabel.setHorizontalAlignment(SwingConstants.CENTER); //設(shè)置文本位置
        add(jLabel);                       //調(diào)用add函數(shù)將標(biāo)簽組件添加到抽口當(dāng)中

    }
}
public class test {
    public static void main(String[] args) {
        jFrame frame = new jFrame("frame",100,100,500,500);
    }
}

可以看到我們得到了一個(gè)標(biāo)題為frame,內(nèi)容為"這是一個(gè)帶有標(biāo)題的窗口"的窗口。

直接定義JFrame類來(lái)創(chuàng)建窗口

也可以 直接定義JFrame類來(lái)創(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);
    }
}

這么看其實(shí)直接定義JFrame比較簡(jiǎn)單,但是構(gòu)造子類結(jié)構(gòu)更加清晰。

總結(jié)

到此這篇關(guān)于Java swing創(chuàng)建一個(gè)窗口的文章就介紹到這了,更多相關(guān)Java swing創(chuàng)建窗口內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 用Maven插件生成Mybatis代碼的實(shí)現(xiàn)方法

    用Maven插件生成Mybatis代碼的實(shí)現(xiàn)方法

    本文主要介紹 Maven插件生成Mybatis代碼,現(xiàn)在做開發(fā)的朋友有好多用Maven 來(lái)管理代碼,這里給大家舉個(gè)例子,有需要的同學(xué)可以看下
    2016-07-07
  • Springmvc ModelAndView原理及用法詳解

    Springmvc ModelAndView原理及用法詳解

    這篇文章主要介紹了Springmvc ModelAndView原理及用法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • SpringBoot切面攔截@PathVariable參數(shù)及拋出異常的全局處理方式

    SpringBoot切面攔截@PathVariable參數(shù)及拋出異常的全局處理方式

    這篇文章主要介紹了SpringBoot切面攔截@PathVariable參數(shù)及拋出異常的全局處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • 基于SpringMVC實(shí)現(xiàn)網(wǎng)頁(yè)登錄攔截

    基于SpringMVC實(shí)現(xiàn)網(wǎng)頁(yè)登錄攔截

    SpringMVC的處理器攔截器類似于Servlet開發(fā)中的過(guò)濾器Filter,用于對(duì)處理器進(jìn)行預(yù)處理和后處理。因此,本文將為大家介紹如何通過(guò)SpringMVC實(shí)現(xiàn)網(wǎng)頁(yè)登錄攔截功能,需要的小伙伴可以了解一下
    2021-12-12
  • 多個(gè)JDK版本(Java 8、Java 17、Java 21)下載和切換

    多個(gè)JDK版本(Java 8、Java 17、Java 21)下載和切換

    為了在實(shí)際中可以任意選擇所需的JDK版本,需要將多個(gè)JDK版本進(jìn)行切換,本文主要介紹了多個(gè)JDK版本(Java 8、Java 17、Java 21)下載和切換,感興趣的可以了解一下
    2025-04-04
  • JAVA使用Ip2region獲取IP定位信息的操作方法

    JAVA使用Ip2region獲取IP定位信息的操作方法

    這篇文章主要介紹了JAVA使用Ip2region獲取IP定位信息,ip2region?-?是國(guó)內(nèi)開發(fā)者開發(fā)的離線IP地址定位庫(kù),針對(duì)國(guó)內(nèi)IP效果較好,國(guó)外的部分IP只能顯示國(guó)家,對(duì)java獲取IP定位信息操作過(guò)程感興趣的朋友一起看看吧
    2022-05-05
  • 利用Java手寫阻塞隊(duì)列的示例代碼

    利用Java手寫阻塞隊(duì)列的示例代碼

    在我們平時(shí)編程的時(shí)候一個(gè)很重要的工具就是容器,在本篇文章當(dāng)中主要給大家介紹阻塞隊(duì)列的原理,并且在了解原理之后自己動(dòng)手實(shí)現(xiàn)一個(gè)低配版的阻塞隊(duì)列,感興趣的可以嘗試一下
    2022-08-08
  • Java枚舉抽象方法實(shí)例解析

    Java枚舉抽象方法實(shí)例解析

    這篇文章主要介紹了Java枚舉抽象方法實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Java實(shí)現(xiàn)四則混合運(yùn)算代碼示例

    Java實(shí)現(xiàn)四則混合運(yùn)算代碼示例

    這篇文章主要介紹了Java實(shí)現(xiàn)四則混合運(yùn)算代碼示例,文中展示了詳細(xì)代碼,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-10-10
  • 淺談普通for循環(huán)遍歷LinkedList弊端

    淺談普通for循環(huán)遍歷LinkedList弊端

    下面小編就為大家?guī)?lái)一篇淺談普通for循環(huán)遍歷LinkedList弊端。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01

最新評(píng)論