Swing常用布局管理器对比介绍

2012-02-15 22:33:59|?次阅读|上传:wustguangh【已有?条评论】发表评论

关键词:Java, Swing, 界面设计|来源:唯设编程网

4、CardLayout:卡片布局

CardLayout 对象是容器的布局管理器(这种布局模式特别适合设计向导对话框)。它将容器中的每个组件看作一张卡片。一次只能看到一张卡片,容器则充当卡片的堆栈。当容器第一次显示时,第一个添加到 CardLayout 对象的组件为可见组件。 卡片的顺序由组件对象本身在容器内部的顺序决定。CardLayout 定义了一组方法,这些方法允许应用程序按顺序地浏览这些卡片,或者显示指定的卡片。
效果:

内容面板代码:

   public static void addComponentsToPane(Container pane) {
      final JPanel contentPanel = new JPanel();
       JPanel controlPanel = new JPanel();
       final CardLayout cardLayout=new CardLayout();;
       pane.setLayout(new BorderLayout());
       pane.add(contentPanel, BorderLayout.CENTER);
       pane.add(controlPanel, BorderLayout.PAGE_END);
       controlPanel.setLayout(new FlowLayout());
    
       JButton[] b = new JButton[10];
       for (int i = 0; i < 10; i++) {
          b[i] = new JButton("No." + i);
          contentPanel.add(b[i]);
       }
       contentPanel.setLayout(cardLayout);
       JButton nextButton = new JButton("next");
       nextButton.addActionListener(new ActionListener(){
          public void actionPerformed(ActionEvent e) {
              cardLayout.next(contentPanel);
          }});
       controlPanel.add(nextButton);
 
   } 

5、GridLayout:网格布局

GridLayout 类是一个布局处理器,它以矩形网格形式对容器的组件进行布置。容器被分成大小相等的矩形,一个矩形中放置一个组件。当组件加入时,会依序又左至右,由上至下填充到每个格子,它不能由你指定想放那个格子就放那个格子。
效果:

内容面板代码:

   public static void addComponentsToPane(Container pane) {
      JButton[] buttons = new JButton[9];
       pane.setLayout(new GridLayout(3, 3));
       for (int i = 0; i < buttons.length; i++) {
          buttons[i] = new JButton(i + "");
          pane.add(buttons[i]);
       }
 
   }
发表评论0条 】
网友评论(共?条评论)..
Swing常用布局管理器对比介绍