2016-05-16 3 views
0

Моя программа заполняет JTextPane различными сообщениями, некоторые расширяют JTextPane до 2 строк, чтобы соответствовать тексту, и некоторые только одну строку. Я хочу, чтобы панель всегда была двумя линиями. Есть ли способ вернуть количество строк, которые в настоящее время занимает текст в JTextPane?Обнаружение количества строк в JTextPane

+0

код [javax.swing.text.Utilities] (HTTP://docs.oracle.com/javase/8/docs/api/javax/swing/text/Utilities.html), вероятно, поможет вам исправить вашу проблему. –

+0

Этот вопрос был первоначально закрыт как дубликат: http://stackoverflow.com/questions/14002238/trying-to-get-the-start-and-end-point-of-each-line-within-a-text -pane. Не знаете, как эта публикация отвечает на вопрос, поскольку может быть одна строка текста, которая обертывается во вторую строку. – camickr

ответ

4

Есть ли способ вернуть количество строк, которые в настоящее время занимает текст в JTextPane?

Отъезд Text Utilities, что не совпадает с ссылкой, приведенной в комментарии.

Вы должны иметь возможность использовать метод getWrappedLines(...).

0

Это даст номер строки в JTextPane:

Первый вариант:

int lineCount = textPane.getText().split("\n").length + 1; 

Второй вариант:

Document doc = textPane.getDocument(); 
int lineCount = new JTextArea(doc).getLineCount();