摆动和标签setText不起作用
问题描述:
我需要一点帮助摆动。这是我的代码:摆动和标签setText不起作用
public class UIdostawca extends javax.swing.JFrame {
/** Creates new form UIdostawca */
public UIdostawca() {
initComponents();
setDefaultCloseOperation(javax.swing.JFrame.HIDE_ON_CLOSE);
}
/* This is my function */
public void loadStuff() {
jLabel2.setText("Works or not?");
}
/*
A lot of code generated by NETBEANS
*/
// Variables declaration - do not modify
private javax.swing.JLabel jLabel2;
}
我用这样的:
UIdostawca a = new UIdostawca();
a.loadStuff();
和jLabel2没有改变;(
然而,当在执行
jLabel2.setText("Works or not?");
功能如formWindowOpened
一切正常
答
这是一个多线程问题。调用formWindowOpened
时,它由Swing事件调度线程(EDT)调用,该线程与绘制接口的线程相同,因此它具有要绘制的正确的文本值。
如果您从某个其他线程调用setText
,EDT可能无法获得正确的文本值。无论您在其他某个线索中拨打setText
,都必须将其包装在SwingUtilities.invokeLater()
中,这会改变EDT上的文本值。
嗯,你可以在你调用'a.loadStuff()' – GETah 2011-12-22 19:29:59
后重新设置'jLabel2'文本,你能粘贴完整的代码吗? – 2011-12-22 19:34:07
基于发布的随机代码行,我们无法提供太多帮助。您需要发布证明问题的正确的[SSCCE](http://www.sscce.org)。 – camickr 2011-12-22 19:35:49