在JFrame中更新JLabel

问题描述 投票:0回答:1

我一直在这个网站和互联网上搜索了几个小时,试图弄清楚如何解决此问题。我正在创建一个游戏,这是我第一次使用图形。我想出了如何创建JFrame,JPanel和JLabel的方法,而我似乎无法解决的唯一问题是更新JLabel。假设我是这样开始的:

JLabel testing = new JLabel ("blah", JLabel.CENTER);
testing.setAlignmentX(0);
testing.setAlignmentY(0);
frame.add(testing);

我可以通过使用Thread.sleep(2500)来更改testing.setText("hi");之后的文本,但是JLabel的先前状态(表示“ blah”)仍然存在。 “嗨”只是出现在顶部。我已经尝试过testing.setVisible(false);,还有很多其他事情,但是没有什么让我显示JLabel,将其隐藏然后进行更改。

任何想法可能有什么问题?谢谢

java graphics jframe jlabel
1个回答
0
投票

不要sleep或在AWT事件调度线程(EDT)上以其他方式阻塞。请改用javax.swing.Timer

© www.soinside.com 2019 - 2024. All rights reserved.