Java Swing 实现 JFrame 窗体随机出现正方形
您可以使用 Java 的 Swing 库来实现这个功能。下面是一个示例代码:
import javax.swing.*;
import java.awt.*;
import java.util.Random;
public class RandomSquare extends JFrame {
private final int SQUARE_SIZE = 50; // 正方形边长
public RandomSquare() {
setTitle('Random Square');
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(500, 500);
setLocationRelativeTo(null); // 将窗体定位于屏幕中央
// 创建一个定时任务,每隔5秒执行一次
Timer timer = new Timer(5000, e -> {
// 获取窗体的内容面板
Container contentPane = getContentPane();
Random random = new Random();
int x = random.nextInt(getWidth() - SQUARE_SIZE); // 随机x坐标
int y = random.nextInt(getHeight() - SQUARE_SIZE); // 随机y坐标
// 创建一个正方形的面板
JPanel squarePanel = new JPanel() {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.RED);
g.fillRect(0, 0, SQUARE_SIZE, SQUARE_SIZE);
}
};
squarePanel.setBounds(x, y, SQUARE_SIZE, SQUARE_SIZE);
// 将正方形面板添加到内容面板
contentPane.add(squarePanel);
contentPane.repaint(); // 刷新内容面板
});
timer.start();
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
RandomSquare randomSquare = new RandomSquare();
randomSquare.setVisible(true);
});
}
}
运行这个程序,您将会看到一个 JFrame 窗体,每隔 5 秒在窗体的任意位置随机出现一个红色的正方形。您可以根据需要调整窗体的大小和正方形的边长。
原文地址: https://www.cveoy.top/t/topic/vIS 著作权归作者所有。请勿转载和采集!