cardlayout

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class demo_9
{
public static void main(String [] args)
{
demo_9_1 test=new demo_9_1();
}
}
class demo_9_1 extends JFrame //implements ActionListener
{
JPanel cardPanel=new JPanel();//设置card的面板
JPanel buttonPanel=new JPanel();//设置按钮的放置的面板
JButton j0,j1,j2,j3;
CardLayout card =new CardLayout();
String cardPanelName[]={"0","1","2","3"};
public demo_9_1()
{
/*
*
*jframe窗体的布局管理器默认为borederlayout 方法进行布局的
*所以可以使用aa.add(cardPanel,BorderLayout.CENTER)
*/
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setBounds(0,0,400,300);
cardPanel.setLayout(card);
Container aa=this.getContentPane();//返回的是本窗体的容器
aa.add(cardPanel,BorderLayout.CENTER);//将面板添加到窗体的中心位置
aa.add(buttonPanel,BorderLayout.SOUTH);//将面板添加到窗体的南部位置
j0=new JButton("0");
j1=new JButton("1");
j2=new JButton("2");
j3=new JButton("3");
buttonPanel.add(j0);
buttonPanel.add(j1);
buttonPanel.add(j2);
buttonPanel.add(j3);
for(int i=0;i<4;i++)
{
cardPanel.add(cardPanelName[i],new JButton("按钮"+i));//循环将按钮加入到设置好了的面板中,//带有字符串的面板将指定组件添加到此容器中
}
j0.addActionListener
(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
card.show(cardPanel,cardPanelName[0]);
}
}
);
j1.addActionListener
(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
card.show(cardPanel,cardPanelName[1]);
}
}
);
j2.addActionListener
(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
card.show(cardPanel,cardPanelName[2]);
}
}
);
j3.addActionListener
(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
card.show(cardPanel,cardPanelName[3]);
}
}
);
}
// public void actionPerformed(ActionEvent e)
// {
// card.show(cardPanel,cardPanelName[0]);
// }
}
cardlayout的更多相关文章
- CardLayout布局练习(小的图片浏览器)
/* 涉及Panel中的图片的加载,还有Frame的关闭的方法, CardLayout(int hgap, int vgap)就会决定卡片面板的大小 匿名类的使用... */ import java. ...
- JAVA GUI之CardLayout
package refNet; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class CardL ...
- 转:三十二、Java图形化界面设计——布局管理器之CardLayout(卡片布局)
转:http://blog.csdn.net/liujun13579/article/details/7773945 卡片布局能够让多个组件共享同一个显示空间,共享空间的组件之间的关系就像一叠牌,组件 ...
- 三十二、Java图形化界面设计——布局管理器之CardLayout(卡片布局)
摘自 http://blog.csdn.net/liujun13579/article/details/7773945 三十二.Java图形化界面设计--布局管理器之CardLayout(卡片布局) ...
- 5、Java Swing布局管理器(FlowLayout、BorderLayout、CardLayout、BoxLayout、GirdBagLayout 和 GirdLayout)
5.Java-Swing常用布局管理器 应用布局管理器都属于相对布局,各组件位置可随界面大小而相应改变,不变的只是其相对位置,布局管理器比较难以控制,一般只在界面大小需要改是才用,但即使这 ...
- Java中CardLayout布局方式的应用
import java.awt.CardLayout; import java.awt.Color; import java.awt.Container; import javax.swing.JBu ...
- java经典5种 FlowLayout 、BorderLayout、GridLayout、GridBagLayout、CardLayout布局
Java 程序通过jvm可以很好的移植到其他平台上,但是java 生成的图形界面样式,在不使用布局的情况下,往往需要重新设定大小,才能在新的平台上调整到最佳样式.这是由于组件的最佳大小 往往是与平台相 ...
- 布局管理器之CardLayout(卡片布局管理器)
对于选项卡这个概念大家可能不会陌生,就是在一个窗口中可以切换显示多页不同的内容,但同一时间只能是其中的某一页可见的,这样的一个个的页面就是选项卡. CardLayout就是类似的这样一个布局管理器,它 ...
- CardLayout使用
相对于BoxLayout,GridBugLayut等常用的Swing layout,CardLayout是特殊的,前者是一个容器内布置组件,而后者是在一个容器内放置很多页面(但一个时间只用显示一个). ...
随机推荐
- laravel-- facade 实现CURD
路由内需配置 Route::any('test1','StudentController@test1');原生CURD写法 public function test1() {// 查找// $stud ...
- Python第3天
字符串的魔法: expandtabs 可用来制表 当前输入是否为数字:isdecimal 最低级 isdigit 支持特殊数字 isnumeric 支持中文 标识符 isidentifier 是否存在 ...
- nodeJs 代码热更新
在开发node过程中,每次修改代码都需要重新启动服务,是一件很抓狂的事情 使用nodemon热加载可以帮我们很好的解决这一问题 1. 安装 npm install nodemon -g 2. 修改np ...
- JetBrains 产品线破解方法
参考: 1.https://www.jianshu.com/p/f404994e2843 2.https://xclient.info/s/intellij-idea.html#versions 3. ...
- vue keep-alive 原理
前人种树:https://segmentfault.com/a/1190000011978825 add : 使用 keep-alive 组件后,组件生命周期会新引入两个钩子
- 基于WebGL架构的3D可视化平台—新风系统演示
新风系统是根据在密闭的室内一侧用专用设备向室内送新风,再从另一侧由专用设备向室外排出,在室内会形成“新风流动场”,从而满足室内新风换气的需要.实施方案是:采用高风压.大流量风机.依靠机械强力由一侧向室 ...
- ubuntu 快捷键
gnome-terminal and xfce4-terminal: Ctrl+Shift+c (copy) and Ctrl+Shift+v (paste) xterm: Ctrl+Insert ( ...
- 安卓出现错误: java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.EditText
Caused by: Java.lang.ClassCastException: Android.widget.TextView cannot be cast to android.widget.Ed ...
- c3p0数据源的第一次尝试
开始补习 以前学习过的基础 正在尝试从c3p0 获取到connection 好的,首先上代码吧 public static DataSource ds = null; static { ComboPo ...
- 大数据入门到精通18--sqoop 导入关系库到hdfs中和hive表中
一,选择数据库,这里使用标准mysql sakila数据库 mysql -u root -D sakila -p 二.首先尝试把表中的数据导入到hdfs文件中,这样后续就可以使用spark来dataf ...