Ответ 1
JViewport viewport = scrollPane.getViewport();
JEditorPane editorPane = (JEditorPane)viewport.getView();
Если в JScrollPane
есть JEditorPane
, как вы можете получить редактор из scrollpane?
Я пробовал scrollPane.getComponents()
, но редактора не было в списке.
JViewport viewport = scrollPane.getViewport();
JEditorPane editorPane = (JEditorPane)viewport.getView();
Один из способов:
JViewport viewport = scrollPane.getViewport();
Component[] components = viewport.getComponents();
хотя вы можете просто иметь поле класса, которое содержит ссылку на вашу панель редактора и облегчает ее таким образом.
Изменить: согласно Jeanette и Rob: лучший способ получить единственный дочерний компонент, хранящийся в окне просмотра, - с его методом getView()
.
Мой первоначальный ответ напоминает мне цитату из H.L. Mencken:
"Для каждой сложной задачи есть решение, которое является кратким, ясным, простым и неправильным".