文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

在Java中使用卡片布局管理器的方法

2023-05-31 06:05

关注

在Java中使用卡片布局管理器的方法?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

卡片布局管理器是由 CardLayout 类实现的布局管理器称为卡片布局管理器,用来操纵其所管理容器中包含的容器或组件。每个直接添加到其所管理容器中的容器或组件为一个卡片,最先被添加的容器或组件被认为是第一个卡片,最后被添加的则为最后一个卡片,初次运行时将显示第一个卡片。

使用方法:

import java.awt.BorderLayout;import java.awt.CardLayout;import java.awt.Color;import java.awt.Insets;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.UIManager; public class TestMain extends JFrame {  private JPanel pane = null; // 主要的JPanel,该JPanel的布局管理将被设置成CardLayout  private JPanel p = null; // 放按钮的JPanel  private CardLayout card = null; // CardLayout布局管理器  private JButton button_1 = null; // 上一步  private JButton button_2 = null; // 下一步  private JButton b_1 = null, b_2 = null, b_3 = null; // 三个可直接翻转到JPanel组件的按钮  private JPanel p_1 = null, p_2 = null, p_3 = null; // 要切换的三个JPanel    public TestMain() {    super("CardLayout Test");    try {      // 将LookAndFeel设置成Windows样式      UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");    } catch (Exception ex) {      ex.printStackTrace();    }        card = new CardLayout(5, 5);    pane = new JPanel(card); // JPanel的布局管理将被设置成CardLayout    p = new JPanel(); // 构造放按钮的JPanel    button_1 = new JButton("< 上一步");    button_2 = new JButton("下一步 >");    b_1 = new JButton("1");    b_2 = new JButton("2");    b_3 = new JButton("3");    b_1.setMargin(new Insets(2,2,2,2));    b_2.setMargin(new Insets(2,2,2,2));    b_3.setMargin(new Insets(2,2,2,2));    p.add(button_1);    p.add(b_1);    p.add(b_2);    p.add(b_3);    p.add(button_2);    p_1 = new JPanel();    p_2 = new JPanel();    p_3 = new JPanel();    p_1.setBackground(Color.RED);    p_2.setBackground(Color.BLUE);    p_3.setBackground(Color.GREEN);    p_1.add(new JLabel("JPanel_1"));    p_2.add(new JLabel("JPanel_2"));    p_3.add(new JLabel("JPanel_3"));    pane.add(p_1, "p1");    pane.add(p_2, "p2");    pane.add(p_3, "p3");        button_1.addActionListener(new ActionListener(){ // 上一步的按钮动作      public void actionPerformed(ActionEvent e) {        card.previous(pane);      }    });    button_2.addActionListener(new ActionListener(){ // 下一步的按钮动作      public void actionPerformed(ActionEvent e) {        card.next(pane);      }    });    b_1.addActionListener(new ActionListener() { // 直接翻转到p_1      public void actionPerformed(ActionEvent e) {        card.show(pane, "p1");      }    });    b_2.addActionListener(new ActionListener() { // 直接翻转到p_2      public void actionPerformed(ActionEvent e) {        card.show(pane, "p2");      }    });    b_3.addActionListener(new ActionListener() { // 直接翻转到p_3      public void actionPerformed(ActionEvent e) {        card.show(pane, "p3");      }    });    this.getContentPane().add(pane);    this.getContentPane().add(p, BorderLayout.SOUTH);    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    this.setSize(300, 200);    this.setVisible(true);  }    public static void main(String[] args) {    new TestMain();  }  }

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 资料下载
  • 历年真题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯