import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class RandomRectangles extends Applet{
private static Color[] colors = {Color.white,Color.black,Color.blue,Color.red,
Color.yellow,Color.orange,Color.cyan,Color.pink,Color.magenta,Color.green};
private int numRects = 10;
private boolean fill = false, raise = false, round = false, threeD = false;
public void init(){
Button rectsBtn = new Button("rectangles");
Button roundBtn = new Button("round rectangles");
Button threeDBtn = new Button("3D rectangles");
Checkbox fillCheckbox = new Checkbox("fill");
add(rectsBtn);
add(roundBtn);
add(threeDBtn);
add(fillCheckbox);
rectsBtn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
round = false;
threeD = false;
RandomRectangles.this.repaint();
}
});
roundBtn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
round = true;
threeD = false;
RandomRectangles.this.repaint();
}
});
threeDBtn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
round = false;
threeD = true;
RandomRectangles.this.repaint();
}
});
fillCheckbox.addItemListener(new ItemListener(){
public void itemStateChanged(ItemEvent event){
fill = ((Checkbox)(event.getSource())).getState();
}
});
}
public void paint(Graphics g){
for(int i=0;i<numRects;i++){
Point lhc = randomPoint();
Dimension size = randomDimenstion();
g.setColor(colors[(int)(Math.random()*10)]);
if(round){
if(fill){
g.fillRoundRect(lhc.x,lhc.y,size.width,size.height,
(int)(Math.random()*250),
(int)(Math.random()*250));
}
else{
g.drawRoundRect(lhc.x,lhc.y,size.width,size.height,
(int)(Math.random()*250),
(int)(Math.random()*250));
}
}
else if(threeD){
g.setColor(Color.lightGray);
if(fill){
g.fill3DRect(lhc.x,lhc.y,size.width,size.height,raise);
}
else{
g.draw3DRect(lhc.x,lhc.y,size.width,size.height,raise);
}
}
else{
if(fill){
g.fillRect(lhc.x,lhc.y,size.width,size.height);
}
else{
g.drawRect(lhc.x,lhc.y,size.width,size.height);
}
}
raise = raise ? false : true;
}
}
//Dimension 类封装单个对象中组件的宽度和高度(精确到整数)
private Dimension randomDimenstion(){
return new Dimension((int)(Math.random()*250),
(int)(Math.random()*250));
}
//返回一个随机点
private Point randomPoint(){
return new Point((int)(Math.random()*250),
(int)(Math.random()*250));
}
}
分享到:
相关推荐
java GUI awt 实现鼠标绘制矩形,鼠标拖动矩形,鼠标改变矩形大小功能. 其它图形的绘制方法参考: https://blog.csdn.net/xietansheng/article/details/55669157
什么是AWT 用AWT构建GUI 事件处理 AWT组件类库
awt包java Android awt包java Android awt包java Android awt包java Android awt包java Android awt包java Android awt包java Android awt包java Android awt包java Android awt包java Android awt包java Android ...
java关于事件的处理 awt及awt事件处理
java绘图 java awt 经典绘图的例子,对于初学awt模块的人非常有帮助.
awt,即各项异性小波变换的matlab实现
标签:ardor3d-awt-0.7.jar.zip,ardor3d,awt,0.7,jar.zip包下载,依赖包
事件控制的要点 AWT 事件结构 基本事件控制 使用多个监听器 匿名类
AWT Framework is a lightweight framework for building AWT applications. Layout is configed by XML files. Events and View Switchs is managed by framework. Also you can plugin your customized AWT or ...
4.1 AWT工具集简介 4.2 AWT事件模型 4.3 GUI组件上的图形操作 4.4 常用的AWT组件
实用awt 控件
Java的AWT包.pdf 学习资料 复习资料 教学资源
自己写的awt版的记事本, 有事件,有布局,有功能..
用AWT把实现的JAVA计算器
jse3d 萨姆·克鲁格(Sam Krug)和艾丽斯·法拉利(Alyx Ferrari)依存关系如果您想要一个没有依赖性的版本,请尝试jse3d v1.7.2,但这是一个过时的版本,不能保证没有错误,也不具有与较新版本相同的功能。...
java的awt小练习,包括关机 取消关机 启动bat程序 关闭某个进程 启动电脑某exe文件
java awt 带界面简单日期选择程序
java的awt计算器用java编写一个具有图形界面的简单计算器
通讯录 java swing awt oracle