java布局管理之CardLayout简单实例

本文实例为大家分享了java布局管理之CardLayout的具体代码,供大家参考,具体内容如下

import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;

public class TestCard implements ActionListener{

 private JFrame fm=new JFrame("卡片的测试");
 private JPanel cardpan,containbtn; //cardpan为卡片显示区域, containbtn为按钮显示区域
 private JButton btn1,btn2,btn3,btn4; //此处定义诗人的按钮
 private JPanel pan1,pan2,pan3,pan4; //此处定义的面板中显示诗句
 private CardLayout card;    //定义卡片布局
 private JTextArea ta1,ta2,ta3,ta4; //定义放诗句的文本域

 public TestCard(){

  //以下为初始化组件
  cardpan=new JPanel();
  containbtn=new JPanel();
  card=new CardLayout();
  cardpan.setLayout(card);

  btn1=new JButton("李白");
  btn2=new JButton("杜甫");
  btn3=new JButton("白居易");
  btn4=new JButton("孟浩然");

  ta1=new JTextArea(30,30);
  ta2=new JTextArea(30,30);
  ta3=new JTextArea(30,30);
  ta4=new JTextArea(30,30);

  //把定义的按钮放到显示按钮的面板中
  containbtn.add(btn1);
  containbtn.add(btn2);
  containbtn.add(btn3);
  containbtn.add(btn4);

  pan1=new JPanel();
  //给按钮添加监听事件
  btn1.addActionListener(this);
  btn2.addActionListener(this);
  btn3.addActionListener(this);
  btn4.addActionListener(this);

  //给定义的文本域中添加诗人相应的诗句
  ta1.append("日照香炉生紫烟,\r\n");
  ta1.append("遥看瀑布挂前川。\r\n");
  ta1.append("飞流直下三千尺,\r\n");
  ta1.append("疑是银河落九天。");

  ta2.append("两个黄鹂鸣翠柳,\r\n");
  ta2.append("一行白鹭上青天。\r\n");
  ta2.append("窗含西岭千秋雪,\r\n");
  ta2.append("门泊东吴万里船。");

  ta3.append("一道残阳铺水中,\r\n");
  ta3.append("半江瑟瑟半江红。\r\n");
  ta3.append("可怜九月初三夜,\r\n");
  ta3.append("露似珍珠月似弓。");

  ta4.append("春眠不觉晓,\r\n");
  ta4.append("处处闻啼鸟。\r\n");
  ta4.append("夜来风雨声,\r\n");
  ta4.append("花落知多少。");

  pan1.add(ta1);
  pan2=new JPanel();
  pan2.add(ta2);
  pan3=new JPanel();
  pan3.add(ta3);
  pan4=new JPanel();
  pan4.add(ta4);

  //把定义好的面板放到卡片布局的组件中
  cardpan.add("b1",pan1);
  cardpan.add("b2",pan2);
  cardpan.add("b3",pan3);
  cardpan.add("b4",pan4);

  fm.add(containbtn,BorderLayout.NORTH);//把显示按钮的组件放到上面显示
  fm.add(cardpan,BorderLayout.CENTER);//把显示文本域的组件放到中间显示

  fm.setSize(400,400);
  fm.setLocation(200,100);
  fm.setVisible(true);
  fm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 }

 public static void main(String[] args) {
  new TestCard();
 }

public void actionPerformed(ActionEvent e) {
 // TODO Auto-generated method stub
 /**
  * e.getActionCommand()显示的结果是对应组件上的内容标签
  * card.show(cardpan, "b1");表示对应组件和显示组件的名称
  * CardLayout.show(Container parent, String name):显示卡片的实现方法定义
  */
 if("李白".equals(e.getActionCommand())){
  card.show(cardpan, "b1");
 }
 if("杜甫".equals(e.getActionCommand())){
  card.show(cardpan, "b2");
 }
 if("白居易".equals(e.getActionCommand())){
  card.show(cardpan, "b3");
 }
 if("孟浩然".equals(e.getActionCommand())){
  card.show(cardpan, "b4");
 }
}
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Java Swing组件BoxLayout布局用法示例

    本文实例讲述了Java Swing组件BoxLayout布局用法.分享给大家供大家参考,具体如下: BoxLayout 可以把控件依次进行水平或者垂直排列布局,这是通过参数 X_AXIS.Y_AXIS 来决定的.X_AXIS 表示水平排列,而 Y_AXIS 表示垂直排列.BoxLayout 的构造函数有两个参数,一个参数定义使用该 BoxLayout 的容器,另一个参数是指定 BoxLayout 是采用水平还是垂直排列.下面是一个使用 BoxLayout排列控件的例子: JPanel panel

  • Java Swing组件布局管理器之FlowLayout(流式布局)入门教程

    本文实例讲述了Java Swing组件布局管理器之FlowLayout(流式布局).分享给大家供大家参考,具体如下: FlowLayout应该是Swing布局管理器学习中最简单.最基础的一个.所谓流式,就是内部控件像水流一样,从前到后按顺序水平排列,直到达到容器的宽度时跳转到第二行.既然是水平排列,那么就存在三种基本的对齐方式:居中对齐(CENTER ).左对齐(LEFT )和右对齐(RIGHT ).然而,FlowLayout还提供两种对齐方式:LEADING,表示控件与容器方向开始边对应:TR

  • 第一次编写Java流布局图形界面

    本文实例为大家分享了Java流布局图形界面编写代码,供大家参考,具体内容如下 package jisuanqi; import java.awt.*; public class MyFrame extends Frame{ //继承Frame类 public MyFrame() { super("第一个图形界面"); //设置框架窗口标题 this.setSize(200, 130); //设置组件尺寸(宽,高) this.setLocation(300, 240); //设置组件的显

  • android用java动态增添删除修改布局

    XML对开发者来说十分的方便,不仅使用起来简单,而且能够及时调试,修改界面之后马上能看到效果. Java设置布局不具有这个优势.但是java却可以动态对布局进行操作,这是xml所做不到的.笔者认为,新手索要掌握的java动态设置布局主要有两点,一方面是对布局的属性进行修改,另一方面是增添和删除控件. 首先说一下动态设置布局在项目中的应用,拿高德地图举个例子,如下图: 我们可以看到,高德地图的默认界面与点击地图之后的界面是不一样的,上面同样的控件在layout中的位置也不一样,这个用xml便是难以

  • java Swing布局管理之BoxLayout布局

    本文为大家解析java Swing布局管理中的BoxLayout布局,供大家参考,具体内容如下 BoxLayout:可以指定在容器中是否对控件进行水平或者垂直放置,比 FlowLayout 要更为灵活 BoxLayout与其他布局管理器稍有不同,必须向其构造函数中传递容器实例的引用,由该容器使用BoxLayout.另外必须指定BoxLayout中组件的布局方式:垂直排列(按列)或水平排列(按行).用水平组件和垂直组件的不同组合嵌套多面板的作用类似于 GridBagLayout,但没那么复杂. 1

  • Java 最重要布局管理器GridBagLayout的使用方法

    GridBagLayout是java里面最重要的布局管理器之一,可以做出很复杂的布局,可以说GridBagLayout是必须要学好的的, GridBagLayout 类是一个灵活的布局管理器,它不要求组件的大小相同便可以将组件垂直.水平或沿它们的基线对齐. 每个 GridBagLayout 对象维持一个动态的矩形单元网格,每个组件占用一个或多个这样的单元,该单元被称为显示区域. 下面就通过一个记事本案例去说明GridBagLayout的使用方法. 分析: 带有箭头的说明可以拉伸的. 4占用4个格

  • Java布局管理器使用方法

    很多初学者在用Java布局器自动布局画界面时,经常遇见不知道如何定义区域大小或按钮之间的距离等问题.我写过一篇<实现JAVA手动布局中各个组件能随窗口变化的方法>的文章,有读者反映算坐标不好算,问能不能用布局器实现文章中的界面.其实自动布局也可以解决定义区域大小或按钮之间的距离等问题,只是没有手动布局那么灵活.下面我就举一个例子. 首先,建一个frame文件(Application应用程序),在Design中将this中的layout设置为BorderLayout. 第二,在组件盘内点选Swi

  • java图形界面之布局设计

    在界面设计中,一个容器要放置许多组件,为了美观,为组件安排在容器中的位置,这就是布局设计.java.awt中定义了多种布局类,每种布局类对应一种布局的策略.常用的有以下布局类: •FlowLayout,依次放置组件. •BoarderLayout,将组件放置在边界上. •CardLayout,将组件像扑克牌一样叠放,而每次只能显示其中一个组件. •GridLayout,将显示区域按行.列划分成一个个相等的格子,组件依次放入这些格子中. •GridBagLayout,将显示区域划分成许多矩形小单元

  • 浅谈Java绝对布局 原创

    在 swing 中,除了使用布局管理器之外还可以使用绝对布局.下面我们就来简单了解一下什么是绝对布局. 绝对布局,就是硬性指定组件在容器中的位置和大小,可以使用绝对坐标的方式来指定组件的位置. 使用绝对布局的步骤如下: (1)使用 Container.setLayout(null)  方法取消布局管理器: (2)使用 Container.setBounds() 方法设置每个组建的大小和位置. 下面我们来看一个绝对布局的例子. 在项目中创建继承 JFrame 窗体组件的 AbsolutePosit

  • java tapestry5 布局 参数的处理

    复制代码 代码如下: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns:t="http://t

随机推荐