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

五種JAVA GUI布局管理的方式

 更新時(shí)間:2020年06月15日 11:53:13   作者:一名小和尚  
這篇文章主要介紹了JAVA幾種GUI布局管理的相關(guān)知識(shí),文中代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下

1. 流式布局(FlowLayout)

定義:
通俗地說(shuō),流式布局就是根據(jù)窗口大小,自動(dòng)改變窗口內(nèi)組件的位置。例如:原窗口大小一行可以容納10個(gè)BUTTON,但將窗口縮小后,每行僅能容納5個(gè)BUTTON,此時(shí)原先的10個(gè)BUTTON中的五個(gè)就會(huì)自動(dòng)排列到下一行。

示例:(省略panel的使用)

Hashset

package 布局管理;
​
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
​
public class Layout { //流式布局
 public static void main(String[] args) {
 Frame frame = new Frame(); //創(chuàng)建一個(gè)窗口
 frame.setLayout(new FlowLayout(FlowLayout.LEFT)); //將窗口布局設(shè)置為流式布局,并設(shè)置向左對(duì)齊
​
 Button button1 = new Button("button1"); //創(chuàng)建若干個(gè)按鈕
 Button button2 = new Button("button2");
 Button button3 = new Button("button3");
 Button button4 = new Button("button4");
 Button button5 = new Button("button5");
​
 frame.add(button1); //將按鈕添加進(jìn)窗口中
 frame.add(button2);
 frame.add(button3);
 frame.add(button4);
 frame.add(button5);
​
​
 frame.setBounds(200,200,500,500); //設(shè)置窗口的位置與大小
 frame.setVisible(true); //設(shè)置窗口可見性
 frame.addWindowListener(new WindowAdapter() { //事件監(jiān)聽:關(guān)閉窗口
 @Override
 public void windowClosing(WindowEvent e) {
 System.exit(0);
 }
 });
​
 }
}

2. 東西南北中布局(BorderLayout)

定義:
東西南北中布局,顧名思義。將窗口分為東西南北中四個(gè)“塊兒”,也可以稱作上下左右中布局,便于理解。

示例:(省略panel的使用)

package 布局管理;
​
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
​
public class BorderLayout { //東西南北中布局
 public static void main(String[] args) {
 Frame frame = new Frame();
 frame.setLayout(new java.awt.BorderLayout());
​
 Button east = new Button("East");
 east.setBackground(new Color(140, 172, 51));
 Button west = new Button("West");
 west.setBackground(new Color(140, 172, 51));
 Button north = new Button("North");
 north.setBackground(new Color(38, 222, 135));
 Button south = new Button("South");
 south.setBackground(new Color(38, 222, 135));
 Button center = new Button("Center");
​
 frame.add(east, java.awt.BorderLayout.EAST);
 frame.add(west, java.awt.BorderLayout.WEST);
 frame.add(north, java.awt.BorderLayout.NORTH);
 frame.add(south, java.awt.BorderLayout.SOUTH);
 frame.add(center, java.awt.BorderLayout.CENTER);
​
 frame.setBounds(200,200,500,500);
 frame.setVisible(true);
 frame.addWindowListener(new WindowAdapter() {
 @Override
 public void windowClosing(WindowEvent e) {
 System.exit(0);
​
 }
 });
 }
}

3. 表格式布局

定義:
將窗口拆分為若干個(gè)表格(拆分為自己需要的表格),再往里添加組件。

示例:
GUI經(jīng)常使用的“登錄”、“注冊(cè)”界面

package 布局管理;
​
import javafx.scene.control.PasswordField;
import javafx.scene.layout.Pane;
import sun.security.util.Password;
​
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.nio.charset.Charset;
​
public class GridLayout {
 public static void main(String[] args) {
// System.out.println("file.encoding=" + System.getProperties().getProperty("file.encoding"));
// System.out.println("默認(rèn)是:"+ Charset.defaultCharset().name());
 Frame frame = new Frame("表格布局");
 frame.setLayout(new java.awt.GridLayout(4,1)); //設(shè)置行列數(shù)
​
 Panel panel1 = new Panel();
 frame.add(panel1);
 Panel panel2 = new Panel();
 frame.add(panel2);
 Panel panel3 = new Panel();
 frame.add(panel3);
 Panel panel4 = new Panel();
 frame.add(panel4);
​
 Label label = new Label("welcome to *** system");
 label.setFont(new Font("宋體", Font.PLAIN, 26));
​
 Label label1 = new Label("Account: ");
 TextField textField = new TextField();
 textField.setColumns(20);
​
 Label label2 = new Label("Password: ");
 TextField textField1 = new TextField(); //AWT沒有passwordField
 textField1.setColumns(20);
 textField1.setEchoChar('*');
​
 Button button = new Button("Login");
​
 panel1.add(label);
 panel2.add(label1);
 panel2.add(textField);
 panel3.add(label2);
 panel3.add(textField1);
 panel4.add(button);
​
 frame.setBounds(200,200,500,250);
 frame.setVisible(true);
 frame.addWindowListener(new WindowAdapter() {
 @Override
 public void windowClosing(WindowEvent e) {
 System.exit(0);
 }
 });
​
 }
}

4. 我不要布局!?。?br /> 當(dāng)設(shè)置 frame.setLayout(null) ;時(shí),可以使用給panel設(shè)置坐標(biāo)的方式控制布局,更具靈活性!

package AWT;
​
import javafx.scene.layout.Pane;
​
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
​
public class panel {
 public static void main(String[] args) {
 Frame frame = new Frame(); //new一個(gè)窗口出來(lái)
 Panel panel = new Panel(); //new一個(gè)面板
 Panel panel1 = new Panel(); //new一個(gè)面板
 Panel panel2 = new Panel(); //new一個(gè)面板
​
 frame.setLayout(null); //設(shè)置布局為空
​
 frame.setBounds(200,200,500,500); //設(shè)置窗口位置大小
​
 panel.setBounds(20,15,460,50); //設(shè)置第一個(gè)面板
 panel.setBackground(new Color(253, 228,1)); //設(shè)置面板顏色
 panel1.setBounds(20,70,100,415);
 panel1.setBackground(new Color(0, 71, 254));
 panel2.setBounds(130,70,350,415);
 panel2.setBackground(new Color(1,1,1));
​
 frame.add(panel); //面板加入到窗口中
 frame.add(panel1);
 frame.add(panel2);
​
 frame.setVisible(true);
​
 frame.addWindowListener(new WindowAdapter() {
 @Override
 public void windowClosing(WindowEvent e) {
 System.exit(0);
 }
 }); {
​
 }
​
 }
​
}

5. 我都要?。?!

為了使界面更加美觀,可以使用多種布局的嵌套哦!

以上就是五種JAVA GUI布局管理的方式的詳細(xì)內(nèi)容,更多關(guān)于JAVA GUI布局的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Maven項(xiàng)目如何查找jar包是由哪個(gè)依賴引入的

    Maven項(xiàng)目如何查找jar包是由哪個(gè)依賴引入的

    這篇文章主要介紹了Maven項(xiàng)目如何查找jar包是由哪個(gè)依賴引入的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • springboot 監(jiān)控管理模塊搭建的方法

    springboot 監(jiān)控管理模塊搭建的方法

    本篇文章主要介紹了springboot 監(jiān)控管理模塊搭建的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • 軟件開發(fā)七大過(guò)程模型

    軟件開發(fā)七大過(guò)程模型

    這篇文章主要介紹了Java七大過(guò)程模型詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-08-08
  • Idea中如何調(diào)出Run dashboard 或services窗口

    Idea中如何調(diào)出Run dashboard 或services窗口

    這篇文章主要介紹了Idea中如何調(diào)出Run dashboard 或services窗口問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • 詳解Java中Object?類的使用

    詳解Java中Object?類的使用

    Java的Object?類是所有類的父類,也就是說(shuō)?Java?的所有類都繼承了?Object,本文主要來(lái)和大家講講Object?類的使用,感興趣的可以了解一下
    2023-05-05
  • 使用XML配置c3p0數(shù)據(jù)庫(kù)連接池

    使用XML配置c3p0數(shù)據(jù)庫(kù)連接池

    這篇文章主要為大家詳細(xì)介紹了使用XML配置c3p0數(shù)據(jù)庫(kù)連接池,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • java8 stream的多字段排序?qū)崿F(xiàn)(踩坑)

    java8 stream的多字段排序?qū)崿F(xiàn)(踩坑)

    這篇文章主要介紹了java8 stream的多字段排序?qū)崿F(xiàn)(踩坑),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 基于常用json框架介紹和Jackson返回結(jié)果處理方式

    基于常用json框架介紹和Jackson返回結(jié)果處理方式

    這篇文章主要介紹了基于常用json框架介紹和Jackson返回結(jié)果處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java中LinkedList真的是查找慢增刪快

    Java中LinkedList真的是查找慢增刪快

    這篇文章主要介紹了Java中LinkedList真的是查找慢增刪快,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • JsonObject的屬性與值的判空(Null值)處理方式

    JsonObject的屬性與值的判空(Null值)處理方式

    這篇文章主要介紹了JsonObject的屬性與值的判空(Null值)處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12

最新評(píng)論

灵石县| 安宁市| 保山市| 寿光市| 林西县| 大安市| 临泉县| 梁山县| 章丘市| 广丰县| 双辽市| 宜兰县| 民乐县| 墨竹工卡县| 哈尔滨市| 松原市| 右玉县| 彭阳县| 易门县| 靖西县| 长葛市| 晋州市| 福州市| 灵台县| 玉环县| 东乌| 邻水| 本溪市| 石棉县| 洪洞县| 县级市| 军事| 武平县| 伊通| 乐平市| 游戏| 睢宁县| 涪陵区| 山西省| 武汉市| 揭阳市|