Новая строка "\ n" в Java TextField - PullRequest
6 голосов
/ 28 марта 2011

Я строю строку (3 разных объекта) и в конце строки ставлю новую строку когда я печатаю в консоли, я получаю то, что ожидалось, но когда я использую setText в текстовом поле, я получаю одну отображаемую строку. Есть ли способ получить новую строку в текстовом поле?

    while (itr.hasNext()) 
          tx +=   "\n"+el.getnombre() + " " +other+"\n";  
    System.out.println(tx);
    textfield.setText(tx);

Ответы [ 2 ]

22 голосов
/ 28 марта 2011

JTextField или TextField (не уверен, какой вы используете) предназначены только для отдельных строк.Если вы хотите простое многострочное отображение текста и используете Swing, используйте JTextArea.Если вы не используете Swing, сообщите нам, какую библиотеку графического интерфейса вы используете, поскольку это важная деталь, о которой должен упомянуть ваш вопрос.

2 голосов
/ 08 декабря 2016

Как упоминалось ранее, используйте JTextArea вместо JTextField.И там или используйте JTextArea.append(String text), или используйте JTextArea.setText(String text).

  1. Опция: Добавляет данный текст в конец документа.Это добавит текст в конец вашей JTextArea.

  2. Опция: getText(), чтобы получить текст из JTextArea, затем манипулировать строкой, затем использовать setText(String text) чтобы установить текст JTextArea в качестве новой строки.

Чтобы установить текст в новой строке, вам нужно добавить «\ n» в конце вашей строки.Следующий код показывает второй вариант:

String oldlines = VisualizeArea.getText(); 
String newline = "your new line"
VisualizeArea.setText(oldlines + "\n" + newline);
...