CardLayout布局管理器的使用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
/**
* @(#)Text1.java
*
*
* @author qch
* @version 1.00 2011/10/1
*/
/**
*java.awt
*类 CardLayout
*ng.Object
* java.awt.CardLayout
*所有已实现的接口:
*LayoutManager, LayoutManager2, Serializable
*
*--------------------------------------------------------------------------------
*
*public class CardLayoutextends Objectimplements LayoutManager2, SerializableCardLayout 对象是容器的布局管理器。它将容器中的*每个组件看作一张卡片。一次只能看到一张卡片,容器则充当卡片的堆栈。当容器第一次显示时,第一个添加到 CardLayout 对象的组件为可*见组件。
*
*卡片的顺序由组件对象本身在容器内部的顺序决定。CardLayout 定义了一组方法,这些方法允许应用程序按顺序地浏览这些卡片,或者显示*指定的卡片。addLayoutComponent(ponent, ng.Object) 方法可用于将一个字符串标识符与给定卡片关联,以便进行快*速随机访问。
*/
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Text1 extends JFrame implements ActionListener{
JButton b1 = new JButton("b1");
JButton b2 = new JButton("b2");
JButton b3 = new JButton("chose b2");
JButton b4 = new JButton("chose b1");
JPanel p1 = new JPanel();
JPanel p2 = new JPanel();
JPanel p3 = new JPanel();
JPanel p4 = new JPanel();
Container con;
CardLayout layout;
public static void main(String args[])
{
new Text1();
}
public Text1()
{
super("buttonDemo");
setSize(300,300);
con=getContentPane();
con.setLayout(new BorderLayout());
layout= new CardLayout(20,20);
p1.setLayout(layout);
con.add(p2,BorderLayout.SOUTH);
con.add(p1,BorderLayout.CENTER);
p3.add(b1);
p4.add(b2);
p1.add(p4,"b4");
p1.add(p3,"b3");
p2.add(b3);
p2.add(b4);
p3.setBackground(Color.black);
p4.setBackground(Color.green);
p1.setBackground(Color.blue);
p2.setBackground(Color.red);
// MyActionListener myActionListener = new MyActionListener();
b3.addActionListener(this);
b4.addActionListener(this);
setVisible(true);
setDefaultCloseOperation(3);
//class MyActionListener implements ActionListener
//{
//}
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b3)
{
layout.show(p1,"b3");
//layout.show(p1,"b4");
}
else layout.show(p1,"b4");
}
/*public void paint(Graphics g)
{
setForeground(Color.red);
Graphics gp = p1.getGraphics();
gp.drawRect(30,30,30,30);
setForeground(Color.blue);
g.drawOval(50,50,50,50);
}*/
}