在我目前正在进行的项目中,我有几条信息希望通过 Jlabel 显示出来。在 GUI 的其他地方有一些按钮和文本字段允许更改我想更新 JLabel 的所述信息,但文本永远不会改变,或者在启动时更新。
正如本网站上其他问题中所建议的那样,我尝试使用并发来更新标签,但我对标签更新没有运气。并发确实可以根据需要更新文本字段和组合框。
我的代码的当前迭代如下所示,
JFrame
//// This is a snippet from the JFrame
public void start()
{
this.setSize(900, 700);
this.setVisible(true);
devicePanel.populateDeviceDefinitions();
updateServiceInfo();
updateCommandInfo();
startUpdateTimer();
}
public void updateServiceInfo()
{
EventService service = JetstreamApp.getService();
generalPanel.updateServiceInfo(service.getBaseUri(),
service.getAccessKey(), String.valueOf(service.getWindowTime()));
}
public void updateCommandInfo()
{
JetstreamServiceClient client = JetstreamApp.getClient();
generalPanel.updateCommandInfo(client.getBaseUri(), client.getAccessKey());
}
JPanel 命名为 generalPanel
//// This is a snippet from the generalPanel
//// All of the variables in the following code are JLabels
public void updateServiceInfo(String baseUrl, String accessKey,
String windowTime)
{
serviceUrl.setText(baseUrl);
serviceAccessKey.setText(accessKey);
serviceWindowTime.setText(windowTime);
}
public void updateCommandInfo(String baseUrl, String accessKey)
{
commandUrl.setText(baseUrl);
commandAccessKey.setText(accessKey);
}
标签以其文本的空字符串开头,并且在窗口启动时,旨在通过从相关来源获取信息来更新它们。我能否了解一下为什么 JLabels 从不更新和显示他们的信息?