最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java?swing創(chuàng)建一個窗口的簡單步驟

 更新時間:2024年06月22日 11:35:58   作者:阿常11  
這篇文章主要給大家介紹了關(guān)于Java?swing創(chuàng)建一個窗口的簡單步驟,Java Swing是Java平臺下的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(可滾動窗格),JScrollBar(滾動條),ICheckBox(復(fù)選框),JRadioButton(單選按鈕),JComboBox(下拉式列表和組合框)。

創(chuàng)建界面

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

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

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

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

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

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

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

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

JFrame的構(gòu)造方法

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

設(shè)置方法

請?zhí)砑訄D片描述

下面來介紹一下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ù)operation有多種取值可選
setExtendedState(int state):設(shè)置窗口的擴(kuò)展?fàn)顟B(tài),可以使窗口最大化、最小化或恢復(fù)大小

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

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

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

操作方法

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

方法名和參數(shù)方法概述
add(Component comp)向容器中添加組件,參數(shù)comp為要添加的組件。
getContentPane()獲取窗口的內(nèi)容面板,可以通過該方法向內(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("這是一個帶有標(biāo)題的窗口");//這是一個標(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);
    }
}

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

直接定義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);
    }
}

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

總結(jié)

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

相關(guān)文章

  • Java對象在JVM中的生命周期詳解

    Java對象在JVM中的生命周期詳解

    這篇文章主要介紹了Java對象在JVM中的生命周期詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • SpringBoot 多環(huán)境開發(fā)實(shí)戰(zhàn)(從配置、管理與控制)

    SpringBoot 多環(huán)境開發(fā)實(shí)戰(zhàn)(從配置、管理與控制)

    本文詳解SpringBoot多環(huán)境配置,涵蓋單文件YAML、多文件模式、Maven Profile分組及激活策略,通過優(yōu)先級控制靈活切換環(huán)境,實(shí)現(xiàn)配置分離、協(xié)同管理,提升項(xiàng)目穩(wěn)定性與迭代效率,感興趣的朋友跟隨小編一起看看吧
    2025-08-08
  • Java多線程 原子操作類詳細(xì)

    Java多線程 原子操作類詳細(xì)

    這篇文章主要介紹了Java多線程中的原子操作類,原子的本意是不能被分割的粒子,而對于一個操作來說,如果它是不可被中斷的一個或者一組操作,那么他就是原子操作。顯然,原子操作是安全的,因?yàn)樗粫淮驍?需要的朋友可以參考下
    2021-10-10
  • Java HttpClient實(shí)現(xiàn)socks代理的示例代碼

    Java HttpClient實(shí)現(xiàn)socks代理的示例代碼

    這篇文章主要介紹了Java HttpClient 實(shí)現(xiàn) socks 代理的示例代碼,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2020-11-11
  • 基于SpringBoot和Dify實(shí)現(xiàn)流式響應(yīng)輸出

    基于SpringBoot和Dify實(shí)現(xiàn)流式響應(yīng)輸出

    這篇文章主要為大家詳細(xì)介紹了如何基于SpringBoot和Dify實(shí)現(xiàn)流式響應(yīng)輸出效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以參考一下
    2025-03-03
  • RocketMQ中的消息發(fā)送與消費(fèi)詳解

    RocketMQ中的消息發(fā)送與消費(fèi)詳解

    這篇文章主要介紹了RocketMQ中的消息發(fā)送與消費(fèi)詳解,RocketMQ是一款高性能、高可靠性的分布式消息中間件,消費(fèi)者是RocketMQ中的重要組成部分,消費(fèi)者負(fù)責(zé)從消息隊(duì)列中獲取消息并進(jìn)行處理,需要的朋友可以參考下
    2023-10-10
  • Mybatis實(shí)現(xiàn)指定sql返回值類型

    Mybatis實(shí)現(xiàn)指定sql返回值類型

    文章介紹了Mybatis中處理不同返回值情況的方法,包括返回值只有一個和有多個的情況,對于返回值只有一個,可以直接返回該值;對于多個返回值,可以使用POJO對象、List集合或Map集合進(jìn)行封裝,每種方法都有其適用的場景
    2025-12-12
  • java 解析由String類型拼接的XML文件方法

    java 解析由String類型拼接的XML文件方法

    今天小編就為大家分享一篇java 解析由String類型拼接的XML文件方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • 詳解如何在SpringBoot里使用SwaggerUI

    詳解如何在SpringBoot里使用SwaggerUI

    本篇文章主要介紹了詳解如何在SpringBoot里使用SwaggerUI,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • 解決Mybatis中mapper的ID沖突問題

    解決Mybatis中mapper的ID沖突問題

    這篇文章主要介紹了解決Mybatis中mapper的ID沖突問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06

最新評論

曲阜市| 秦安县| 南郑县| 托克逊县| 楚雄市| 长沙县| 博野县| 福安市| 呼和浩特市| 阳高县| 虞城县| 宜良县| 天津市| 自治县| 基隆市| 黄石市| 通海县| 承德县| 盐城市| 浦城县| 绵竹市| 横山县| 子洲县| 留坝县| 垣曲县| 博野县| 满城县| 太原市| 大化| 双辽市| 东台市| 辽阳市| 孝义市| 依安县| 佛学| 乌鲁木齐县| 昌平区| 南充市| 商河县| 鄂州市| 江山市|