Get component from a JScrollPane
If there is a JEditorPane
in a JScrol开发者_C百科lPane
, how can you get the editor from the scrollpane?
I tried scrollPane.getComponents()
but the editor wasn't in the list.
JViewport viewport = scrollPane.getViewport();
JEditorPane editorPane = (JEditorPane)viewport.getView();
One way:
JViewport viewport = scrollPane.getViewport();
Component[] components = viewport.getComponents();
although you could just have a class field that holds a reference to your editor pane and get it more easily that way.
Edit: as per Jeanette and Rob: the best way to get the single child component held by the viewport is with its getView()
method.
My initial answer reminds me of a quote from H.L. Mencken:
"For every complex problem there is a solution that is concise, clear, simple, and wrong."
精彩评论