简单的CardLayout布局案例

代码如下:

  

package www.csdn.net.bj;

import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Container;
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;
//讲解CardLayout布局的使用
public class MyJFrame3 extends JFrame {
 public MyJFrame3() {
  this.setSize(400, 400);// 设置窗体大小
  this.setLocationRelativeTo(null);// 设置窗体居中显示
  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 当点击窗体关闭按钮的时候,就退出程序
  Container c = this.getContentPane();// 在这里获取容器面板
  JButton jbtn1 = new JButton("上一个");//创建按钮对象
  c.add(jbtn1, BorderLayout.NORTH);//在容器的 南边添加按钮
  final JPanel mainJPanel = new JPanel(); // 默认布局是 流布局
  final CardLayout cardLayout = new CardLayout(); // 创建卡片布局的对象
  mainJPanel.setLayout(cardLayout);// 重新设置面板的布局 为卡片布局
  mainJPanel.add(new JLabel("西游记"), "one"); // 必须指定 标识符 ,如果没有标识符
             // 就会出现:Exception in thread
             // "main"
             // java.lang.IllegalArgumentException:
             // cannot add to layout:
             // constraint must be a
             // string
  mainJPanel.add(new JLabel("红楼梦"), "two");//在mainJpanel添加控件
  mainJPanel.add(new JLabel("三国演义"), "three");//在mainJpanel添加控件
  mainJPanel.add(new JLabel("水浒传"), "four");//在mainJpanel添加控件
  c.add(mainJPanel, BorderLayout.CENTER); //把面板对象,添加到容器的中间部分
  JButton jbtn2 = new JButton("下一个"); //创建按钮对象
  c.add(jbtn2, BorderLayout.SOUTH); //把按钮添加到容器的 北边

  // 注册的上一个事件
  jbtn1.addActionListener(new ActionListener() {
   @Override
   public void actionPerformed(ActionEvent e) {
    cardLayout.previous(mainJPanel);// 上一个
   }
  });
  // 注册的下一个事件
  jbtn2.addActionListener(new ActionListener() {
   @Override
   public void actionPerformed(ActionEvent e) {
    cardLayout.next(mainJPanel);// 下一个
   }
  });
  // 默认显示三国演义
  cardLayout.show(mainJPanel, "three"); // 显示指定的内容
  cardLayout.last(mainJPanel);// 显示最后一个内容
  cardLayout.first(mainJPanel);// 显示第一个内容
  this.setVisible(true);// 设置窗体可见
 }
 public static void main(String[] args) {
  new MyJFrame3();
 }

}


运行效果如下:

 

供参考

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值