我的代码遇到了一个小问题:
import javax.swing.JFrame;
public class Game {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//frame.setVisible(true);
for (int i = 0; i < 5000; i++) {
frame.getContentPane().add(new Star());
frame.setVisible(true);
//Thread.sleep(500);
frame.repaint();
}
}
}
第二节课:
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;
public class Star extends JPanel {
private static final long serialVersionUID = 1L;
private int x, y, red, green, blue;
public Star() {
x = (int) (Math.random() * 4500);
y = (int) (Math.random() * 4500);
red = (int) (Math.random() * 255);
green = (int) (Math.random() * 255);
blue = (int) (Math.random() * 255);
}
public void paintComponent(Graphics g) {
Color startColor = new Color(red, green, blue);
g.setColor(startColor);
g.setColor(Color.GREEN);
g.fillOval(x, y, 50, 50);
}
}
头号问题: 代码工作得非常慢......正如你所看到的,代码会随机带来很多圈子。但它太慢了......是不是可以加速呢?
问题二:
在这段代码中:
public void paintComponent(Graphics g) {
Color startColor = new Color(red, green, blue);
g.setColor(startColor);
g.setColor(Color.GREEN);
g.fillOval(x, y, 50, 50);
}
我添加以下几行:
g.setColor(Color.BLACK);
g.fillRect(0, 0, getWidth(), getHeight());
JFrame背景是黑色的,但没有看到圆圈。他们似乎已经消失了..) 帮助他们回来。
提前感谢您对我的帮助!