亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

五種JAVA GUI布局管理的方式

瀏覽:3日期:2022-08-31 09:00:58

1. 流式布局(FlowLayout)

定義:通俗地說,流式布局就是根據(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. 我不要布局!!!當(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è)窗口出來 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)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 亚洲乱亚洲乱妇无码 | 精品免费久久久久国产一区 | 亚洲日本中文字幕在线2022 | 国产三级精品三级 | 91精品婷婷国产综合久久8 | 精新精新国产自在现拍欣赏网 | 三级a毛片 | 欧美成人中文字幕 | 国产精品欧美亚洲韩国日本久久 | 成人三级在线播放 | 久久久精品在观看999 | 日韩欧美国产中文 | 麻豆回家视频区一区二 | 久久国产视屏 | 国产片一区二区三区 | 91欧美一区二区三区综合在线 | 尤物精品视频在线观看 | 最新的国产成人精品2022 | 国产三级网址 | 龙口护士门91午夜国产在线 | 国产无套 | 亚洲一成人毛片 | 亚洲3级 | 国内视频一区二区三区 | 一区二区在线免费视频 | 欧美亚洲国产成人高清在线 | 50-60岁老妇女一级毛片 | 成人综合婷婷国产精品久久免费 | 日本久久影视 | 亚洲一区二区三区在线观看蜜桃 | 亚洲在线小视频 | 性欧美成人免费观看视 | 亚洲三级色 | 日韩欧美黄色大片 | 欧美一级在线观看视频 | 在线观看日韩www视频免费 | 亚洲国产成人最新精品资源 | 国产精品免费看 | 亚洲a成人7777777久久 | 黄色毛片电影 | 亚洲精品福利一区二区三区 |