Новые строки в JEditorPane - PullRequest
       44

Новые строки в JEditorPane

2 голосов
/ 29 февраля 2012

В настоящее время я использую JEditorPane для отображения текста, который читается из сокета.Я создаю JEditorPane, получаю его Document и добавляю текст, как он есть, используя

document.insertString(document.getEndPosition().getOffset(), string, null); 

Это работает, как и ожидалось, за исключением того, что когда встречается '\ n' (символ, используемый для новой строки)кажется, что игнорирует это (то есть не печатает ничего), и все выходит в одну строку.Я искал решение, но не могу найти ничего, что работает (попытка заменить '\ n' на <br>, не помогло, просто распечатал <br>.

1 Ответ

1 голос
/ 29 февраля 2012

Работает так, как вы ожидали.

Вот код.

doc.insertString(doc.getEndPosition().getOffset(), "test\n", null);
doc.insertString(doc.getEndPosition().getOffset(), "test\n", null);
doc.insertString(doc.getEndPosition().getOffset(), "test\n", null);
doc.insertString(doc.getEndPosition().getOffset(), "test\n", null);

полный код.

    jScrollPane1 = new javax.swing.JScrollPane();
    jEditorPane1 = new javax.swing.JEditorPane();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

    jScrollPane1.setViewportView(jEditorPane1);

    getContentPane().add(jScrollPane1, java.awt.BorderLayout.CENTER);

    pack();
  1. Проверьте, не было ли установлено какое-либо другое свойство на панели редактирования.
  2. Какой редакторский комплект вы используете?
  3. попробуйте распечатать ввод и убедитесь, что он поставляется с '\ n'

Вы также можете использовать,

    doc.insertString(doc.getLength(), "test\n", null);
...