自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

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

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

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

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

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

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

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

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

然后就設(shè)置到GroupLayout

下面的實(shí)例,設(shè)置GroupLayout.setHorizontalGroup,就是把2和4添加到一個(gè) ParallelGroup.addComponent(component),其它1,3,5,6,7,8添加到另一個(gè)ParallelGroup,然后把這兩個(gè)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("自動(dòng)登陸");  
  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

2013-02-21 16:51:18

JavaNimbusJava Swing

2009-02-01 10:17:22

布局管理器LayoutManagGUI

2012-04-23 10:49:04

AWTJava

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

2011-10-24 09:47:37

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

2018-03-05 10:18:44

Linux密碼密碼管理器

2024-01-02 09:21:18

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

2013-03-29 12:52:14

Android位置管理

2010-08-11 08:58:51

無線路由器使用

2010-08-11 13:40:31

2011-09-07 10:36:58

ubuntuUbuntuOne

2018-06-20 10:34:56

堆棧iOSswift
點(diǎn)贊
收藏

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