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]); } }