【发布时间】:2021-01-16 13:02:18
【问题描述】:
我正在尝试使用 Java GUI 创建一个交通信号灯,它只显示一个圆圈,并将颜色从红色变为黄色,再变为绿色。应该有一个计时器,只有黄色应该在 3 秒内变为绿色。我已经设置了一个圆圈和一个红色,但我无法使用计时器将其分别更改为黄色和绿色。
顺便说一句,我对 GUI 非常陌生,无法在线找到有用的资源,尽管我仍然观看了一些 youtube 视频,但没有发现任何有用或与此任务相关的内容。任何帮助将不胜感激!
代码:
import java.awt.Canvas;
import java.awt.Graphics;
import java.awt.Color;
import javax.swing.JFrame;
public class Main extends Canvas {
public static void main(String[] args) {
JFrame frame = new JFrame();
Canvas canvas = new Main();
canvas.setSize(700, 700);
frame.add(canvas);
frame.pack();
frame.setVisible(true);
}
public void paint(Graphics g) {
g.setColor(Color.red);
g.fillOval(200, 200, 300, 300);
}
}
预期输出:
https://www.youtube.com/watch?v=8dn-_3t3XQE
注意:它应该只有一个圆圈,但它的行为应该与预期输出中的一样。
【问题讨论】:
-
使用计时器。 - 好吧,您还没有发布任何计时器代码,所以我们无法猜测您可能尝试过或未尝试过什么。我们不是来为您编写代码的。按照我下面的建议后,如果您仍然需要帮助,请发布正确的minimal reproducible example 来证明问题。
-
(1-) 但没有找到任何有用的或与此任务相关的内容。 - 当然,您不会找到作业的确切代码。我为您提供了一个完整的工作示例,说明如何使用 Swing Timer。重点是让您了解 Timer 的基本概念,然后根据您的具体要求编写代码。
标签: java swing user-interface graphics