2

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

但我想在标签上添加文字。不要完全重写它。例如.. 如果文本说“Letters Tried:”,我想在三个不同的场合添加“N”和“X”,然后是“H”。所以最后,它看起来像这样“尝试的字母:NX H”。这就是我所拥有的,它完全不起作用..

这是最高级的,

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());
}
4

2 回答 2

4

您发布的代码毫无意义(也无法编译)。好吧,它现在可能会编译。

话虽如此,StringJava 中的 a 是不可变的;你不能改变它。要更改 a 的文本,JLabel您需要创建一个新的String并调用JLabel'setText()方法。

String old = triedLettersLA.getText();
String newString = old + " N"; // this creates a new String object
triedLettersLA.setText(newString);
于 2012-05-08T03:15:49.103 回答
0

废话代码:

String triedLettersLA.getText(t);

将其更改为:

String t = triedLettersLA.getText();
于 2012-05-08T16:14:15.133 回答