package other;import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Canvas;
import java.awt.CardLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;public class MycardLayout implements ActionListener{
static CardLayout myCard=new CardLayout();
static Panel p1=new Panel();
public static void main(String[] args) {
int i;
MyCanvas my[]=new MyCanvas[21];
p1.setLayout(myCard);
for(i=1;i<=20;i++)
{
my[i]=new MyCanvas(i,i);//创建一个半径为i,i的画布
p1.add("i am"+i,my[i]);
}
Panel p2=new Panel();
p2.setLayout(new FlowLayout());
Button b1=new Button("第一张");
Button b2=new Button("下一张");
Button b3=new Button("最后一张");
p2.add(b1);
p2.add(b2);
p2.add(b3);
//对各个按钮注册监听器
b1.addActionListener(new MycardLayout());
b2.addActionListener(new MycardLayout());
b3.addActionListener(new MycardLayout());
Frame f=new Frame("请看我的画图效果");
f.setLayout(new BorderLayout());
f.add(p1,"Center");
f.add(p2,"South");
f.setBounds(0,0,260,200);
f.setVisible(true);
}
public void actionPerformed(ActionEvent e)// CardLayout布局管理器的用法
{
if(e.getActionCommand()=="第一张")
myCard.first(p1);
if(e.getActionCommand()=="下一张")
myCard.next(p1);
if(e.getActionCommand()=="最后一张")
myCard.last(p1);
}}
class MyCanvas extends Canvas
{
int x,y;
//确定大小参数以及画布的大小
public MyCanvas(int x,int y) {
this.x=x;
this.y=y;
this.getSize();//这句是设置画布大小吗?为什么可以这样设置?
}
public void paint(Graphics g)//重绘信息
{
g.setColor(Color.red);
g.drawString("我是第"+x,20 ,20 );
g.fillOval(50,50,4*x,4*y);
}
}
import java.awt.Button;
import java.awt.Canvas;
import java.awt.CardLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;public class MycardLayout implements ActionListener{
static CardLayout myCard=new CardLayout();
static Panel p1=new Panel();
public static void main(String[] args) {
int i;
MyCanvas my[]=new MyCanvas[21];
p1.setLayout(myCard);
for(i=1;i<=20;i++)
{
my[i]=new MyCanvas(i,i);//创建一个半径为i,i的画布
p1.add("i am"+i,my[i]);
}
Panel p2=new Panel();
p2.setLayout(new FlowLayout());
Button b1=new Button("第一张");
Button b2=new Button("下一张");
Button b3=new Button("最后一张");
p2.add(b1);
p2.add(b2);
p2.add(b3);
//对各个按钮注册监听器
b1.addActionListener(new MycardLayout());
b2.addActionListener(new MycardLayout());
b3.addActionListener(new MycardLayout());
Frame f=new Frame("请看我的画图效果");
f.setLayout(new BorderLayout());
f.add(p1,"Center");
f.add(p2,"South");
f.setBounds(0,0,260,200);
f.setVisible(true);
}
public void actionPerformed(ActionEvent e)// CardLayout布局管理器的用法
{
if(e.getActionCommand()=="第一张")
myCard.first(p1);
if(e.getActionCommand()=="下一张")
myCard.next(p1);
if(e.getActionCommand()=="最后一张")
myCard.last(p1);
}}
class MyCanvas extends Canvas
{
int x,y;
//确定大小参数以及画布的大小
public MyCanvas(int x,int y) {
this.x=x;
this.y=y;
this.getSize();//这句是设置画布大小吗?为什么可以这样设置?
}
public void paint(Graphics g)//重绘信息
{
g.setColor(Color.red);
g.drawString("我是第"+x,20 ,20 );
g.fillOval(50,50,4*x,4*y);
}
}
解决方案 »
- swing画界面,一直让我很蛋痛
- {利用JAVA算分期还贷}
- JAVA多线程该适时断掉吗,怎么断呢
- 关于I/O的一个问题,有会的请指教,谢谢
- 求段java对象clone代码,解决马上结贴
- Runtime.getRuntime().exec("winword.exe") error=2 ???
- 如何得到Java中两个Date类型之间相隔的天数啊??
- PreparedStatement对象操作问题!
- 谁有JMS的类给我发一份
- 那位高手能解释一下jndi的使用,看了一上午jndiTutorial也不理解,有中文文档吗?
- JAVA关于字符串获取
- 如何往一个byte数组中的某个位置放入一个int或long 谢谢
这句是花去画布大小 不是设置大小