Получить компонент из JScrollPane

Если в JScrollPane есть JEditorPane, как вы можете получить редактор из scrollpane?

Я пробовал scrollPane.getComponents(), но редактора не было в списке.

Ответы

Ответ 1

JViewport viewport = scrollPane.getViewport(); 
JEditorPane editorPane = (JEditorPane)viewport.getView(); 

Ответ 2

Один из способов:

JViewport viewport = scrollPane.getViewport();
Component[] components = viewport.getComponents();

хотя вы можете просто иметь поле класса, которое содержит ссылку на вашу панель редактора и облегчает ее таким образом.

Изменить: согласно Jeanette и Rob: лучший способ получить единственный дочерний компонент, хранящийся в окне просмотра, - с его методом getView().

Мой первоначальный ответ напоминает мне цитату из H.L. Mencken:

"Для каждой сложной задачи есть решение, которое является кратким, ясным, простым и неправильным".