testcardlayout.java

来自「这是一张java应用教程的随书光盘」· Java 代码 · 共 51 行

JAVA
51
字号
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
class Mycanvas extends Canvas
{ int x,y;
  Mycanvas(int a,int b)
   { x=a;y=b;
    getSize();
   }
 public void paint(Graphics g)
   {g.setColor(Color.red);
    g.drawString("这是第 "+x+"卡片",50,50);
   }
 } 
public class TestCardLayout extends Applet implements ActionListener
{ CardLayout mycard;
  Button button1,button2,button3;
  Mycanvas mycanvas[];
  Panel p1; 
  public void init()
  { setLayout(new BorderLayout());//Applet的布局是BorderLayout
    mycard=new CardLayout();
    p1=new Panel();
    p1.setLayout(mycard);//p1的布局设置为mycard(卡片式布局)
    button1=new Button("第一张");button2=new Button("下一张");
    button3=new Button("最后一张"); mycanvas=new Mycanvas[31]; 
    for(int i=1;i<=30;i++)
      { mycanvas[i]=new Mycanvas(i,i);
        p1.add("第"+ i ,mycanvas[i]);//向p添加画布组件,先加入的是"卡片"式的第一张。
      }
    button1.addActionListener(this);//注册监听器
    button2.addActionListener(this); //注册监听器
    button3.addActionListener(this); //注册监听器
    Panel p2=new Panel();
    p2.add(button1);p2.add(button2);//p2的布局设置为默认FlowLayout
    p2.add(button3);
    add(p1,"Center");add(p2,"South");
  }
  public void actionPerformed(ActionEvent e)
  { if(e.getSource()==button1)
     { mycard.first(p1);
     }
   else if(e.getSource()==button2)
     { mycard.next(p1);
     }
   else if(e.getSource()==button3)
     { mycard.last(p1);
     }
  }
 }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?