【发布时间】:2014-08-12 17:57:18
【问题描述】:
我正在尝试使用 GUI/Swing 模拟轮盘游戏,以应对即将到来的考试。我有两个类,一个称为 GUI,实际上是用于组件的代码,例如 JFrame、JOptionPane、JButtons 等。另一个扩展了 Thread,应该在一个小的 JLabel 上显示随机数,运行方法是像这样:
public void run() {
int k = 0;
for (int i = 0; i < 50; i++) {
k = (new Random().nextInt(37));
label.setText(k + " ");
label.setFont(new Font("Tahoma", Font.BOLD, 56));
label.setForeground(Color.yellow);
try {
sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
在 GUI 类中,我只想从上述循环的最后一次迭代中获取数字,然后将它传递给一个新的 int,稍后我将在 GUI 类中使用它。 有什么想法吗?
【问题讨论】:
-
按照@Braj 的建议使用摇摆计时器(他的答案为 1+)。另外顺便说一句,您几乎从不想扩展 Thread 类。如果您需要使用基本线程并且绝对不能使用 Swing Timer 或 SwingWorker,那么您希望您的类实现 Runnable,而不是扩展 Thread。
标签: java swing user-interface