成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java的swing.GroupLayout布局管理器的使用方法和實(shí)例

開發(fā) 后端
GroupLayout 是一個 LayoutManager,它將組件按層次分組,以決定它們在 Container 中的位置。GroupLayout 主要供生成器使用,但也可以手工編碼。分組由 Group 類的實(shí)例來完成。

GroupLayout 是一個 LayoutManager,它將組件按層次分組,以決定它們在 Container 中的位置。GroupLayout 主要供生成器使用,但也可以手工編碼。分組由 Group 類的實(shí)例來完成。GroupLayout 支持兩種組。串行組 (sequential group) 按順序一個接一個地放置其子元素。并行組 (parallel group) 能夠以四種方式對齊其子元素。

每個組可以包含任意數(shù)量的元素,其中元素有 Group、Component 或間隙 (gap)。間隙可被視為一個具有最小大小、首選大小和最大大小的不可見組件。此外,GroupLayout 還支持其值取自 LayoutStyle 的首選間隙。

GroupLayout是一個很重要的是額布局管理器,在jdk 1.6才加入,配合其它的管理器可以實(shí)現(xiàn)很好的界面。

GroupLayout必須要設(shè)置它的GroupLayout.setHorizontalGroup和GroupLayout.setVerticalGroup。

GroupLayout.setHorizontalGroup是指按照水平來確定,下面例子“賬號”和“密碼”是一個級別的,其它的組件也是一個級別的。詳情請看代碼

 GroupLayout.setVerticalGroup。是按照垂直來確定的。他們的級別是按照Group去設(shè)置組件的優(yōu)先級別,級別越高就顯示越上面。

  1. GroupLayout.setHorizontalGroup(SequentialGroup(ParallelGroup(component))); 

大概就是按照這個順序去添加,當(dāng)然不是就這么簡單設(shè)置,多個component添加到ParallelGroup,然后多個ParallelGroup添加到SequentialGroup里面,

然后就設(shè)置到GroupLayout

下面的實(shí)例,設(shè)置GroupLayout.setHorizontalGroup,就是把2和4添加到一個 ParallelGroup.addComponent(component),其它1,3,5,6,7,8添加到另一個ParallelGroup,然后把這兩個ParallelGroup按照順序添加到SequentialGroup.addGrou(ParallelGroup);

 

  1. /**  
  2. * @author :陶偉基 ,微博:http://weibo.com/taoandtao  
  3. * @date :2012/12/10  
  4. * @place:廣州大學(xué)華軟軟件學(xué)院  
  5. */ 
  6. import javax.swing.GroupLayout;  
  7. import javax.swing.GroupLayout.Alignment;  
  8. import javax.swing.JButton;  
  9. import javax.swing.JLabel;  
  10. import javax.swing.JPasswordField;  
  11. import javax.swing.JRadioButton;  
  12. import javax.swing.JTextField;  
  13. public class MyFrame extends javax.swing.JFrame {  
  14.     public static void main(String[] args) {  
  15.         MyFrame f = new MyFrame();  
  16.     }  
  17.  
  18.     JLabel label1;  
  19.     JLabel label2;  
  20.     JLabel label3;  
  21.     JTextField tf;  
  22.     JPasswordField psf;  
  23.     JRadioButton rb1;  
  24.     JRadioButton rb2;  
  25.  
  26.     JButton bt1;  
  27.     JButton bt2;  
  28.  
  29.     public MyFrame() {  
  30.         this.setVisible(true);  
  31.         this.setSize(250220);  
  32.         this.setVisible(true);  
  33.         this.setLocation(400200);  
  34.  
  35.         label1 = new JLabel("華軟BBS快捷登陸");  
  36.         label2 = new JLabel("賬號:");  
  37.         label3 = new JLabel("密碼:");  
  38.         tf = new JTextField();  
  39.         psf = new JPasswordField();  
  40.         rb1 = new JRadioButton("記住密碼");  
  41.         rb2 = new JRadioButton("自動登陸");  
  42.         bt1 = new JButton("登陸");  
  43.         // 為指定的 Container 創(chuàng)建 GroupLayout  
  44.         GroupLayout layout = new GroupLayout(this.getContentPane());  
  45.         this.getContentPane().setLayout(layout);  
  46.         //創(chuàng)建GroupLayout的水平連續(xù)組,,越先加入的ParallelGroup,優(yōu)先級級別越高。  
  47.         GroupLayout.SequentialGroup hGroup = layout.createSequentialGroup();  
  48.         hGroup.addGap(5);//添加間隔  
  49.         hGroup.addGroup(layout.createParallelGroup().addComponent(label2)  
  50.                 .addComponent(label3));  
  51.         hGroup.addGap(5);  
  52.         hGroup.addGroup(layout.createParallelGroup().addComponent(label1)  
  53.                 .addComponent(psf).addComponent(rb1).addComponent(rb2)  
  54.                 .addComponent(tf).addComponent(bt1));  
  55.         hGroup.addGap(5);  
  56.         layout.setHorizontalGroup(hGroup);  
  57.         //創(chuàng)建GroupLayout的垂直連續(xù)組,,越先加入的ParallelGroup,優(yōu)先級級別越高。  
  58.         GroupLayout.SequentialGroup vGroup = layout.createSequentialGroup();  
  59.         vGroup.addGap(10);  
  60.         vGroup.addGroup(layout.createParallelGroup().addComponent(label1));  
  61.         vGroup.addGap(10);  
  62.         vGroup.addGroup(layout.createParallelGroup().addComponent(label2)  
  63.                 .addComponent(tf));  
  64.         vGroup.addGap(5);  
  65.         vGroup.addGroup(layout.createParallelGroup().addComponent(label3)  
  66.                 .addComponent(psf));  
  67.         vGroup.addGroup(layout.createParallelGroup().addComponent(rb1));  
  68.  
  69.         vGroup.addGroup(layout.createParallelGroup().addComponent(rb2));  
  70.         vGroup.addGroup(layout.createParallelGroup(Alignment.TRAILING)  
  71.                 .addComponent(bt1));  
  72.         vGroup.addGap(10);  
  73.         //設(shè)置垂直組  
  74.         layout.setVerticalGroup(vGroup);  
  75.     }  

原文鏈接:http://www.cnblogs.com/taoweiji/archive/2012/12/10/2812221.html

責(zé)任編輯:林師授 來源: 博客園
相關(guān)推薦

2009-07-17 09:44:28

Look And Fe布局管理器SWT和Swing

2009-02-01 10:17:22

布局管理器LayoutManagGUI

2012-04-23 10:49:04

AWTJava

2013-02-21 16:51:18

JavaNimbusJava Swing

2011-06-10 09:29:36

Qt Creator 布局管理器

2011-08-23 09:22:52

UbuntuPlymouth

2013-07-15 15:12:40

iOS多線程NSOperationNSOperation

2013-07-17 10:34:36

Ubuntu軟件管理

2021-02-07 09:03:58

Linux Zypper 管理器

2012-12-31 10:36:58

Android開發(fā)RelativeLay布局

2011-07-04 15:43:03

Qt 布局管理器 designer

2023-01-06 08:55:00

2018-03-05 10:18:44

Linux密碼密碼管理器

2011-10-24 09:47:37

RHEL網(wǎng)絡(luò)管理器

2013-03-29 12:52:14

Android位置管理

2010-08-11 08:58:51

無線路由器使用

2010-08-11 13:40:31

2024-01-02 09:21:18

SqlSugar數(shù)據(jù)庫ORM框架

2018-06-20 10:34:56

堆棧iOSswift

2011-09-07 10:36:58

ubuntuUbuntuOne
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产午夜精品一区二区三区嫩草 | 亚洲综合在线播放 | 亚洲成人99 | 欧美不卡在线 | 日韩在线中文 | 免费av在线网站 | 日本又色又爽又黄的大片 | 久久中文字幕一区 | 成人国产免费视频 | 欧美一二区 | 在线一区视频 | 亚洲乱码一区二区三区在线观看 | 在线国产一区 | 国产日韩欧美综合 | 国产福利视频在线观看 | 久久99国产精一区二区三区 | 日本午夜免费福利视频 | 久久免费精品视频 | 欧美黄a | 国产做爰| 国产精品久久久一区二区三区 | 久久久www成人免费精品 | 干干干操操操 | 影音先锋中文在线 | 久久久九九 | 国精品一区 | 亚洲高清中文字幕 | 国产精品久久精品 | 亚洲精品乱码久久久久久9色 | 在线播放日韩 | 国际精品鲁一鲁一区二区小说 | 久久久久av| 国产69精品久久久久777 | 97国产在线视频 | 午夜三区 | 91久久国产综合久久 | 久久免费精品 | 久久久久久久香蕉 | 精品久久一 | 午夜成人在线视频 | 免费在线观看91 |