`
dych3r
  • 浏览: 1037 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

AWT构造矩形,圆角矩形,3D矩形

awt 
阅读更多
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));
}

}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics