kami124 Ответов: 2

Не могу найти способ добавить символ в Java в NetBeans


Не могу найти способ добавить символ в Java в NetBeans
в чем может быть проблема

try {
    String msg = dis.readUTF();
    txt_recMsg.append("\n"+msg);
} catch (IOException ex) {
    Logger.getLogger(ClientForm.class.getName()).log(Level.SEVERE, null, ex);
}

2 Ответов

Рейтинг:
1

Richard MacCutchan

Вы не объявили переменную txt_recMsg в приведенном выше коде. Но если предположить, что это string, то нет никакого append метод, как документация[^] покажет. Вам нужно использовать Класс StringBuffer[^].


kami124

его объявили своим текстовым полем

Рейтинг:
0

norbitrial

Вероятно, это вызвано обратной косой чертой в вашей строке. Вы можете решить следующим образом (двойная обратная косая черта):

try {
String msg = dis.readUTF();
String oldText = txt_recMsg.getText();

StringBuilder yourStringBuilder = new StringBuilder();
yourStringBuilder.append(oldText);
yourStringBuilder.append("\\n");
yourStringBuilder.append(msg);

txt_recMsg.setText(yourStringBuilder.toString());
} catch (IOException ex) {
Logger.getLogger(ClientForm.class.getName()).log(Level.SEVERE, null, ex);
}


Я обновил код, добавив StringBuilder. Он имеет лучшую производительность, и вы можете вызвать append для StringBuilder. После того, как ваше текстовое поле может быть обновлено с помощью метода setText.

Вы можете прочитать больше строк против То StringBuilder производительность от здесь[^]!

Дайте мне знать, если это сработает или нет!


kami124

Все та же проблема, проблема кое-где в txt_recMsg

norbitrial

Это txt_recMsg в текстовое поле или текстовое поле? Вы объявили txt_recMsg до того, как захотели вызвать метод append?

kami124

его текстовое поле. сначала я создаю txt_recMsg, а затем вызываю метод append

norbitrial

Я улучшил свое решение с помощью StringBuilder для повышения производительности и метода setText, чтобы изменить значение вашего текстового поля.

kami124

Совершенство его работы

joxb

Куда мне поместить этот текст? Я вроде как новичок в программировании, поэтому не очень понимаю.