java实现绘制爱心(附完整源码)
时间: 2023-11-12 20:05:03 浏览: 101
好的,以下是Java实现绘制爱心的完整源码:
```java
import java.applet.Applet;
import java.awt.Color;
import java.awt.Graphics;
// 继承 Applet 类
public class Heart extends Applet {
// 重写 paint() 方法
public void paint(Graphics g) {
g.setColor(Color.red);
int x = 100, y = 50;
int[] xPoints = { x - 20, x, x + 20 };
int[] yPoints = { y + 40, y + 10, y + 40 };
g.fillArc(x, y, 40, 40, 45, 180);
g.fillArc(x + 20, y, 40, 40, -45, 180);
g.fillPolygon(xPoints, yPoints, 3);
}
}
```
你可以将上述代码保存为 Heart.java 文件,并使用 JDK 中的编译器编译运行。当你运行此程序时,你将会看到绘制出来的爱心效果。
相关问题
java实现绘制桃心(附完整源码)
以下是 Java 实现绘制桃心的完整源码:
```java
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class PeachHeart extends JPanel {
// 定义桃心大小和位置
private static final int WIDTH = 200;
private static final int HEIGHT = 200;
private static final int X_POSITION = 100;
private static final int Y_POSITION = 100;
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.RED);
// 绘制左半边桃心
g.fillArc(X_POSITION - WIDTH / 4, Y_POSITION - HEIGHT / 4, WIDTH / 2, HEIGHT / 2, 0, 180);
g.fillArc(X_POSITION - WIDTH / 4, Y_POSITION, WIDTH / 2, HEIGHT / 2, 0, 180);
// 绘制右半边桃心
g.fillArc(X_POSITION, Y_POSITION - HEIGHT / 4, WIDTH / 2, HEIGHT / 2, 0, 180);
g.fillArc(X_POSITION, Y_POSITION, WIDTH / 2, HEIGHT / 2, 0, 180);
// 绘制两个圆弧之间的矩形
g.fillRect(X_POSITION - WIDTH / 4, Y_POSITION - HEIGHT / 4, WIDTH / 2, HEIGHT / 2);
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setSize(400, 400);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
PeachHeart panel = new PeachHeart();
frame.add(panel);
frame.setVisible(true);
}
}
```
运行该程序将会显示一个红色的桃心形状。其中,`paintComponent` 方法用于绘制桃心的形状,`main` 方法创建一个 `JFrame` 窗口并将 `PeachHeart` 面板添加到窗口中。
java实现进度条(附完整源码)
以下是一个简单的Java实现进度条的示例代码:
```java
public class ProgressBar {
private int minValue;
private int maxValue;
private int currentValue;
public ProgressBar(int minValue, int maxValue) {
this.minValue = minValue;
this.maxValue = maxValue;
this.currentValue = minValue;
}
public void setValue(int value) {
this.currentValue = value;
draw();
}
private void draw() {
int percent = (int) (((double) currentValue - minValue) / (maxValue - minValue) * 100);
System.out.print("\r[");
for (int i = 0; i < 100; i++) {
if (i < percent) {
System.out.print("=");
} else {
System.out.print(" ");
}
}
System.out.print("] " + percent + "%");
}
public static void main(String[] args) throws InterruptedException {
ProgressBar progressBar = new ProgressBar(0, 100);
for (int i = 0; i <= 100; i++) {
Thread.sleep(50);
progressBar.setValue(i);
}
}
}
```
代码解释:
1. `ProgressBar`类表示进度条,它有三个实例变量:`minValue`表示最小值,`maxValue`表示最大值,`currentValue`表示当前值。
2. `ProgressBar`类有一个构造函数,用于初始化最小值和最大值,当前值初始化为最小值。
3. `setValue`方法用于设置当前值,并且会重新绘制进度条。
4. `draw`方法用于绘制进度条,它首先计算当前值所占百分比,然后根据百分比绘制进度条。
5. `main`方法演示了如何使用进度条,它创建了一个进度条对象并循环设置进度条的值,每次设置后等待50毫秒。
运行代码可以看到一个简单的进度条在控制台上输出。
注意:这只是一个简单的示例,实际应用中可能需要更多的功能,比如支持多线程、自定义颜色和样式等。
阅读全文