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

五種JAVA GUI布局管理的方式

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

1. 流式布局(FlowLayout)

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

示例:(省略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)建一個窗口
 frame.setLayout(new FlowLayout(FlowLayout.LEFT)); //將窗口布局設(shè)置為流式布局,并設(shè)置向左對齊
​
 Button button1 = new Button("button1"); //創(chuàng)建若干個按鈕
 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)

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

示例:(省略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. 表格式布局

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

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

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) ;時,可以使用給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一個窗口出來
 Panel panel = new Panel(); //new一個面板
 Panel panel1 = new Panel(); //new一個面板
 Panel panel2 = new Panel(); //new一個面板
​
 frame.setLayout(null); //設(shè)置布局為空
​
 frame.setBounds(200,200,500,500); //設(shè)置窗口位置大小
​
 panel.setBounds(20,15,460,50); //設(shè)置第一個面板
 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. 我都要!?。?/strong>

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

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

相關(guān)文章

  • Maven項目如何查找jar包是由哪個依賴引入的

    Maven項目如何查找jar包是由哪個依賴引入的

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

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

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

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

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

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

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

    詳解Java中Object?類的使用

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

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

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

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

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

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

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

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

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

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

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

最新評論

安义县| 曲沃县| 吉隆县| 自贡市| 塘沽区| 南丰县| 台山市| 绥德县| 高平市| 襄汾县| 凉城县| 汤阴县| 襄樊市| 江油市| 通山县| 长汀县| 舒城县| 抚远县| 沁水县| 当雄县| 黄梅县| 扬中市| 门源| 偏关县| 隆林| 东乡| 康乐县| 南皮县| 宜宾市| 广丰县| 阿拉善盟| 泊头市| 仁布县| 漠河县| 临沧市| 土默特右旗| 丽江市| 嘉定区| 佛冈县| 若羌县| 荣昌县|