您的位置:首页 > 移动开发

Java基础之在窗口中绘图——渐变填充(GradientApplet 1)

2013-12-24 00:40 507 查看
Applet程序。

import javax.swing.*;
import java.awt.*;
import java.awt.geom.*;

@SuppressWarnings("serial")
public class GradientApplet extends JApplet {
// Initialize the applet
@Override
public void init() {
GradientPane pane = new GradientPane();                            // Pane containing filled rectangles
getContentPane().add(pane);                                        // BorderLayout.CENTER is default position
}

// Class defining a pane on which to draw
class GradientPane extends JComponent {
@Override
public void paint(Graphics g) {
Graphics2D g2D = (Graphics2D)g;

Point2D.Float p1 = new Point2D.Float(150.f, 75.f);               // Gradient line start
Point2D.Float p2 = new Point2D.Float(250.f, 75.f);               // Gradient line end
float width = 300;
float height = 50;
GradientPaint g1 = new GradientPaint(p1, Color.WHITE,
p2, Color.DARK_GRAY,
true);                      // Cyclic gradient
Rectangle2D.Float rect1 = new Rectangle2D.Float(p1.x-100, p1.y-25, width,height);
g2D.setPaint(g1);                                                // Gradient color fill
g2D.fill(rect1);                                                 // Fill the rectangle
g2D.setPaint(Color.BLACK);                                       // Outline in black
g2D.draw(rect1);                                                 // Fill the rectangle
g2D.draw(new Line2D.Float(p1, p2));
g2D.drawString("Cyclic Gradient Paint", p1.x-100, p1.y-50);
g2D.drawString("p1", p1.x-20, p1.y);
g2D.drawString("p2", p2.x+10, p2.y);

p1.setLocation(150, 200);
p2.setLocation(250, 200);
GradientPaint g2 = new GradientPaint(p1, Color.WHITE,
p2, Color.DARK_GRAY,
false);                     // Acyclic gradient
rect1.setRect(p1.x-100, p1.y-25, width, height);
g2D.setPaint(g2);                                                // Gradient color fill
g2D.fill(rect1);                                                 // Fill the rectangle
g2D.setPaint(Color.BLACK);                                       // Outline in black
g2D.draw(rect1);                                                 // Fill the rectangle
g2D.draw(new Line2D.Float(p1, p2));
g2D.drawString("Acyclic Gradient Paint", p1.x-100, p1.y-50);
g2D.drawString("p1", p1.x-20, p1.y);
g2D.drawString("p2", p2.x+10, p2.y);
}
}
}


HTML文件:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>     <head>  </head>
<body bgcolor="000000">
<center>
<applet
code    = "GradientApplet.class"
width    = "400"
height    = "280"
>
</applet>
</center>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐