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

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

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

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

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

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

GroupLayout必須要設置它的GroupLayout.setHorizontalGroup和GroupLayout.setVerticalGroup。

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

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

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

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

然后就設置到GroupLayout

下面的實例,設置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:廣州大學華軟軟件學院  
  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 創建 GroupLayout  
  44.         GroupLayout layout = new GroupLayout(this.getContentPane());  
  45.         this.getContentPane().setLayout(layout);  
  46.         //創建GroupLayout的水平連續組,,越先加入的ParallelGroup,優先級級別越高。  
  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.         //創建GroupLayout的垂直連續組,,越先加入的ParallelGroup,優先級級別越高。  
  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.         //設置垂直組  
  74.         layout.setVerticalGroup(vGroup);  
  75.     }  

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

責任編輯:林師授 來源: 博客園
相關推薦

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開發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網絡管理器

2024-01-02 09:21:18

SqlSugar數據庫ORM框架

2013-03-29 12:52:14

Android位置管理

2010-08-11 08:58:51

無線路由器使用

2010-08-11 13:40:31

2018-06-20 10:34:56

堆棧iOSswift

2011-09-07 10:36:58

ubuntuUbuntuOne
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲一区免费 | 久久精品无码一区二区三区 | 2018天天干天天操 | 亚洲国产18 | 久久精品亚洲国产 | 在线看成人av | 中文字幕成人av | 少妇一级淫片免费播放 | 青草青草久热精品视频在线观看 | 黑人一级黄色大片 | www.青青草 | 黄色a级一级片 | 欧美日韩在线成人 | 日本欧美国产在线 | 国产综合精品 | 日本久久精 | 免费久久视频 | 日本久久一区 | 黄网站在线播放 | 国产一级电影在线 | 九九九色| 中文视频在线 | 欧美一区日韩一区 | www.99热.com | 亚洲精品不卡 | 欧美黑人狂野猛交老妇 | 日韩一区二区三区av | 国产一级片久久久 | 欧美一区二区综合 | 亚洲成人av在线播放 | 成在线人视频免费视频 | 91精品国产一二三 | 久草精品在线 | 久久亚洲综合 | av毛片在线播放 | 国产不卡一区 | 99热热99 | 亚洲高清在线 | 超碰激情 | 亚洲视频在线观看免费 | 国产精品一区二区视频 |