Java开发GUI之CardLayout卡片布局 CardLayout布局允许进行多套界面的设计,通过切换界面来实现布局样式的改变。 CardLayout类似与一叠卡片,默认最先添加的在前面,界面始终只展示一个卡片。 layout = new CardLayout(); cardPannel = new Panel(layout); Panel p1 = new Panel(); p1.add(new )APP.cardPannel.getLayout()).show(APP.cardPannel, (String) e.getItem()); } } 需要注意,CardLayout在进行卡片切换时 CardLayout类中方法总结如下: //默认的构造方法 public CardLayout(); //构造方法 hgap设置卡片水平间距 vgap设置卡片竖直间距 public CardLayout
文章目录 一、CardLayout 卡片布局 二、CardLayout 卡片布局 API 三、CardLayout 卡片布局代码示例 一、CardLayout 卡片布局 ---- CardLayout API ---- CardLayout 卡片布局 API : CardLayout() : 创建 默认 的卡片布局管理器 ; /** * 创建一个空白大小为0的新卡片布局。 */ public CardLayout() { this(0, 0); } CardLayout(int hgap, int vgap) : 创建 指定 水平间隙 和 设置存储卡片布局的 Panel // 该容器设置 卡片布局管理器 Panel panel = new Panel(); CardLayout cardLayout = new CardLayout(); panel.setLayout(cardLayout); // 向 Panel 中添加多个 卡片组件 for
使用CardLayout布局管理器 CardLayout布局管理器是一种常用的管理多个界面的方法。通过CardLayout,你可以将多个面板组合到一个容器中,然后通过一系列的动作来控制它们的显隐。 () == secondButton) { CardLayout cl = (CardLayout)(cardPanel.getLayout()); cl.show(cardPanel, \thirdPanel \ } else if (e.getSource() == thirdButton) { CardLayout cl = (CardLayout)(cardPanel.getLayout 在actionPerformed方法中,我们使用CardLayout的show方法来实现面板跳转。 2. 总结 在本文中,我们介绍了三种常见的JavaSwing界面跳转技巧:CardLayout布局管理器、TabbedPane、JOptionPane。
5.3、CardLayout 这种布局管理器能够帮助用户处理两个以至更多的成员共享同一显示空间,它把容器分成许多层,每层的显示空间占据整个容器大小,但是每层只允许放置一个组件,当然每层都可以利用 CardLayout就象一副叠得整整齐齐的扑克牌一样,有54张牌,但是你只能看见最上面的一张牌,一张牌就相当于布局管理器中的一层。 所有的组件像卡片一样叠在一起,每时每刻都只能显示其中一张卡片。 CardLayout常用到切换界面。例如,点击App的Menu之后或者某个Button之后,主界面会切换到另外一个界面,这个时候就需要CardLayout。 panelTwo.setLayout(new GridLayout(2,1)); 再设置主面板: CardLayout card = new CardLayout(); panelMain.setLayout(card); 下一步将开始准备好的面板添加到主面板
CardLayout 布局管理器以时间而非空间来管理它里面的组件,它将加入容器的所有组件看成一叠卡片(每个卡片其实就是一个组件),每次只有最上面的那个 Component 才可见。 方法名称 方法功能 CardLayout() 创建默认的 CardLayout 布局管理器。 CardLayout(int hgap,int vgap) 通过指定卡片与容器左右边界的间距 C hgap) 、上下边界 Cvgap) 的间距来创建 CardLayout 布局管理器. first(Container ,用来存放多张卡片 CardLayout cardLayout = new CardLayout(); Panel p1 = new Panel(); p1 .setLayout(cardLayout); //4.往p1中存储5个Button按钮,名字从String数组中取 for (int i = 0; i < 5; i+
12.5.1 CardLayout CardLayout布局管理器是将一些组件彼此重叠地进行布局,像一张张卡片叠放在一起一样,这样每次只会展现一个界面,CardLayout类的构造方法和常用方法如表12.21 CardLayout类构造方法和常用方法 方法声明 功能描述 public CardLayout() 创建一个各组件间距为0的CardLayout布局管理器 public CardLayout(int hgap,int vgap) 构造一个各组件指定水平和垂直间距的CardLayout布局管理器 void next(Container parent) 翻到下一张卡片 void previous( 类的构造方法和常用方法,接下来通过一个案例来演示CardLayout布局管理器的使用,如例12-20所示。 cardLayout=new CardLayout(5,10); 15 jPanel1.setLayout(cardLayout); 16 jFrame.setSize
CardLayout 类,受同名java布局管理的启发。它分层管理每个元素,每个元素的通过QLayout::spacing()来设置位移量。 头文件 card.h #ifndef CARD_H #define CARD_H #include <QtGui> #include <QList> class CardLayout : public QLayout { public: CardLayout(QWidget *parent, int dist): QLayout(parent, 0, dist) {} CardLayout (QLayout *parent, int dist): QLayout(parent, dist) {} CardLayout(int dist): QLayout(dist) {} ~CardLayout(); void addItem(QLayoutItem *item); QSize sizeHint() const; QSize minimumSize
卡片布局 十五、CardLayout 卡片布局 API 十六、CardLayout 卡片布局代码示例 十七、BoxLayout 布局 十八、BoxLayout 布局 API 十九、BoxLayout ; 十五、CardLayout 卡片布局 API ---- CardLayout 卡片布局 API : CardLayout() : 创建 默认 的卡片布局管理器 ; /** * 创建一个空白大小为 */ public CardLayout() { this(0, 0); } CardLayout(int hgap, int vgap) : 创建 指定 水平间隙 和 设置存储卡片布局的 Panel // 该容器设置 卡片布局管理器 Panel panel = new Panel(); CardLayout cardLayout = new CardLayout(); panel.setLayout(cardLayout); // 向 Panel 中添加多个 卡片组件 for
fifth")); p3.add(new JButton("This is the last button")); p4 = new JPanel(); p4.setLayout(new CardLayout ()); p4.add("one", p2); p4.add("two", p3); /* * 要显示CardLayout的卡片,除了用show(Container parent,String */ ((CardLayout) p4.getLayout()).show(p4, "one"); contentPane.add(p4); f.setTitle("CardLayout 0); } }); } public void actionPerformed(ActionEvent event) { switch (i) { case 1: ((CardLayout ) p4.getLayout()).show(p4, "two"); break; case 2: ((CardLayout) p4.getLayout()).show(p4, "one
六、CardLayout 简介 CardLayout 布局管理器以时间而非空间来管理它里面的组件,它将加入容器的所有组件看成一叠卡片(每个卡片其实就是一个组件),每次只有最上面的那个 Component 方法名称 方法名称 方法功能 CardLayout() 创建默认的 CardLayout 布局管理器。 CardLayout(int hgap,int vgap) 通过指定卡片与容器左右边界的间距 C hgap) 、上下边界 Cvgap) 的间距来创建 CardLayout 布局管理器. first(Container ,用来存放多张卡片 CardLayout cardLayout = new CardLayout(); Panel p1 = new Panel(); p1 Example"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); cardLayout = new CardLayout
CardLayout(卡片布局) CardLayout 允许在一个容器中管理多个面板,并可以在这些面板之间切换。它像是一副扑克牌的卡片,通过点击按钮或触发事件,可以显示不同的面板。 CardLayout 适用于多步骤表单、向导程序或选项卡式界面。 特点: 多个面板以“卡片”的形式存在。 每次只能显示一个面板,其他面板隐藏。 可以通过编程控制切换不同的卡片。 class CardLayoutExample { public static void main(String[] args) { Frame frame = new Frame("CardLayout Example"); CardLayout cardLayout = new CardLayout(); Panel panel = new Panel(cardLayout 多卡片切换:使用 CardLayout
.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class CardLayout JCheckBox checkBox1; private JRadioButton radioButton1; private JButton button1; public CardLayout String[] args) { JFrame frame = new JFrame("Card Layout"); frame.setContentPane(new CardLayout
West" Title="已配置表" Width="200" Collapsible="true" Split="true" MinWidth="175" MaxWidth="400" Layout="CardLayout Panel> <ext:Panel ID="PanelCenter" runat="server" Region="Center" Flex="4" Layout="<em>CardLayout</em>
100、Java的java.awt包中定义了5种布局类,分别是FlowLayout、BorderLayout、CardLayout、 GridLayout 和GridBagLayout。 101、Java的java.awt包中定义了5种布局类,分别是FlowLayout、BorderLayout、 CardLayout 、GridLayout和GridBagLayout。 107、使用 CardLayout 布局的容器可以容纳多个组件,但实际上同一时刻容器只能从这些组件中选出一个来显示。
布局管理器类 ---- LayoutManager 布局管理器类 : LayoutManager 接口 GridLayout 网格布局 FlowLayout 流式布局 LayoutManager2 接口 CardLayout
测试一下流,看看拉宽的效果: 卡片布局CardLayout 这个能用于切换,毕竟【cards.add(p1,"card1");】可以通过判断来处理: package com.item.swings; import java.awt.BorderLayout; import java.awt.CardLayout; import java.awt.Color; import java.awt.FlowLayout JPanel p1=new JPanel(); //面板1 JPanel p2=new JPanel(); //面板2 JPanel cards=new JPanel(new CardLayout cl=(CardLayout)(cards.getLayout()); cl.show(cards,"card1"); //调用show()方法显示面板1 //cl.show(cards cl=(CardLayout)(cards.getLayout()); // cl.show(cards,"card1"); //调用show()方法显示面板1 cl.show(cards
CardLayout,卡片布局,面板重叠放置。 GridBogLayout,组件可以跨行跨列的网格布局。 注意:一定要在图形界面都其他功能都设置好之后才能设置可见性。
流式布局里的组件会随着窗口的拉动而改变 卡片布局: CardLayout是卡片布局对象,可以直接在setLayout();方法里new这个卡片布局对象,就可以实现流式布局了: ?
JFrame JDialog默认 2、流式布局(FlowLayout)//JPanel默认 3、网格布局(GridLayout) 4、盒子布局(BoxLaYout) 5、空布局(null)/卡片布局(CardLayout )//这个我不确定,应该是CardLayout 10.
GridBagLayout(网格袋布局) JavaSwing_1.4: BoxLayout(箱式布局) JavaSwing_1.5: GroupLayout(分组布局) JavaSwing_1.6: CardLayout