java一朵玫瑰花代码
时间: 2023-02-22 08:51:27 浏览: 263
这是一个简单的 Java 程序,画一朵玫瑰花:
```
import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;
public class Rose extends JFrame {
public Rose() {
super("玫瑰花");
Container content = getContentPane();
content.setLayout(new BorderLayout());
JPanel rose = new JPanel() {
protected void paintComponent(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
int xcenter = getWidth() / 2;
int ycenter = getHeight() / 2;
double radius = Math.min(getWidth(), getHeight()) * 0.4;
RoseCurve rose = new RoseCurve(xcenter, ycenter, radius);
g2.setStroke(new BasicStroke(2.0f));
g2.setColor(Color.red);
g2.draw(rose);
}
};
content.add(rose, BorderLayout.CENTER);
setSize(400, 400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
class RoseCurve extends GeneralPath {
RoseCurve(double xcenter, double ycenter, double radius) {
moveTo(xcenter + radius, ycenter);
for (int deg = 45; deg < 360; deg += 45) {
double rad = Math.toRadians(deg);
double x = xcenter + Math.cos(rad) * radius;
double y = ycenter + Math.sin(rad) * radius;
lineTo(x, y);
}
closePath();
}
}
public static void main(String[] args) {
new Rose();
}
}
```
这个程序使用了 Java 图形绘制和事件处理的基本知识,绘制出了一朵玫瑰花的图形。