写一段用java中的 Graphics 类在JPanel上写出汉字,并让JPanel动起来的代码
时间: 2024-03-08 17:48:54 浏览: 59
好的,以下是一段简单的代码,用于在JPanel上绘制汉字并让它动起来:
``` java
import javax.swing.*;
import java.awt.*;
public class MyPanel extends JPanel implements Runnable {
private int x = 0;
private int y = 50;
public MyPanel() {
Thread thread = new Thread(this);
thread.start();
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
// 设置字体和颜色
Font font = new Font("宋体", Font.PLAIN, 30);
g.setFont(font);
g.setColor(Color.RED);
// 绘制汉字
g.drawString("你好,世界!", x, y);
}
public void run() {
while (true) {
// 不断改变x的值,让字体动起来
x += 5;
if (x > this.getWidth()) {
x = 0;
}
try {
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
}
// 重绘面板
repaint();
}
}
public static void main(String[] args) {
JFrame frame = new JFrame("MyPanel");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500, 300);
frame.add(new MyPanel());
frame.setVisible(true);
}
}
```
在这个例子中,我们创建了一个自定义的JPanel子类,重写了它的paintComponent方法来绘制汉字。我们还实现了Runnable接口,让JPanel动起来。在run方法中,我们不断改变x的值,使字体动起来,然后调用repaint方法来重绘面板。最后,我们创建了一个JFrame实例,并将MyPanel添加到其中,以显示出来。
阅读全文