2

もっと簡単な質問でまた戻ってきました!このJLabel(triedLettersLA)のコンテンツを、アプリケーション全体で定期的に更新してほしい(その部分を処理している)。

しかし、ラベルにテキストを追加したいと思います。完全に書き直さないでください。たとえば、テキストに「Letters Tried:」と書かれている場合は、「N」、「X」、「H」の順に3回追加します。つまり、最終的には、この「Letters Tried: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());
}
4

2 に答える 2

4

投稿したコードは意味がありません (また、コンパイルすることもできません)。まあ、おそらく今コンパイルするでしょう。

そうは言ってもString、Java の a はimmutableです。変更することはできません。のテキストを変更するには、新しい を作成してのメソッドを呼び出すJLabel必要があります。StringJLabelsetText()

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 に答える