Java 正在尝试更新JLabel的内容

Java 正在尝试更新JLabel的内容,java,swing,jlabel,Java,Swing,Jlabel,我带着一个更简单的问题回来了!我希望这个JLabel(triedLettersLA)的内容在整个应用程序中定期更新(我已经处理了该部分) 但我想在标签上添加文字。不要完全重写它。例如如果文字上写着“Letters Tryed:”,我想在三个不同的场合加上“N”和“X”,然后加上“H”。所以在最后,它看起来像“字母尝试:nxh”。这是我的东西,它完全不起作用 这是最上面的 JLabel triedLettersLA = new JLabel("Tried letters:"); public bo

我带着一个更简单的问题回来了!我希望这个JLabel(triedLettersLA)的内容在整个应用程序中定期更新(我已经处理了该部分)

但我想在标签上添加文字。不要完全重写它。例如如果文字上写着“Letters Tryed:”,我想在三个不同的场合加上“N”和“X”,然后加上“H”。所以在最后,它看起来像“字母尝试:nxh”。这是我的东西,它完全不起作用

这是最上面的

JLabel triedLettersLA = new JLabel("Tried letters:");
public boolean used[] = new boolean[26];
这在我的代码中是较低的

StringBuffer missedLetter = new StringBuffer();
for (int le = 0; le <= 25; le++) {
     if (used[le]) missedLetter.append((char)(le + 'a'));
     String triedLettersLA.getText(t);
     triedLettersLA.setText(t + " " + missedLetter.toString());
}
StringBuffer-missdletter=new-StringBuffer();
对于(int-le=0;le您发布的代码毫无意义(它也无法编译)。好吧,它可能现在就可以编译了

也就是说,Java中的
String
是不可变的;您不能更改它。要更改
JLabel
的文本,您需要创建一个新的
String
并调用
JLabel
setText()
方法

String old = triedLettersLA.getText();
String newString = old + " N"; // this creates a new String object
triedLettersLA.setText(newString);
你发布的代码毫无意义(它也无法编译)。好吧,它现在可能会编译

也就是说,Java中的
String
是不可变的;您不能更改它。要更改
JLabel
的文本,您需要创建一个新的
String
并调用
JLabel
setText()
方法

String old = triedLettersLA.getText();
String newString = old + " N"; // this creates a new String object
triedLettersLA.setText(newString);
非随机码:

String triedLettersLA.getText(t);
将其更改为:

String t = triedLettersLA.getText();
非随机码:

String triedLettersLA.getText(t);
将其更改为:

String t = triedLettersLA.getText();

这将用于在文本中添加“N”。如果您希望字母总是被排序(如上所述),请稍微扩展它,使用triedLettersLA.setText(“已尝试的字母:”)启动该函数;-然后你可以在字母之间循环。你知道
new
是一个保留字,对吗?我建议你把它改成newStr。@Boro-喝了几杯杜松子酒和补品后,显然我不再注意到这些东西了;)谢谢。不用担心。(+1)用于回答和包括建议的更正。最好的:)这将有助于在文本中添加“N”。稍微扩展一下,如果希望始终对字母进行排序(如上所述),请使用triedLettersLA.setText(“已尝试的字母:”)启动该函数-然后你可以在字母之间循环。你知道
new
是一个保留字,对吗?例如,我建议你把它改成newStr。@Boro-喝了几杯杜松子酒和补品后,显然我不再注意到这些东西;)谢谢,不用担心。(+1)用于回答和包括建议的更正。祝你一切顺利:)