Я не могу сказать вам, как долго я пытался понять это! Это великолепно. Спасибо!

я есть JeditorPane в JScrollPane. В определенных точках приложения я хотел бы получить текст, который отображается в scrollPane (текст, который отображается в данный момент), и только этот текст. Есть ли способ сделать это?

Спасибо,

Elliott

Ответы на вопрос(1)

Решение Вопроса

чтобы получить позицию и размер вида.

JViewport viewport = scrollPane.getViewport();
Point startPoint = viewport.getViewPosition();
Dimension size = viewport.getExtentSize();
Point endPoint = new Point(startPoint.x + size.width, startPoint.y + size.height);

Когда вы знаете начальную / конечную точки окна просмотра, вы можете использовать:

int start = editorPane.viewToModel( startPoint );
int end = editorPane.viewToModel( endPoint );

Как только вы узнаете смещения текста, который вы хотите, вы можете получить текст из компонента:

String text = editorPane.getText(start, end - start);

Ни один из кодов не проверен.

 Elliott07 янв. 2011 г., 19:36
Я не могу сказать вам, как долго я пытался понять это! Это великолепно. Спасибо!

Ваш ответ на вопрос