JScrollPane
子の拡大に問題がありJEditorPane
ますが、再度サイズを変更するときに水平スクロール バーを強制します (JEditorPane
ラッピングを強制的に再計算するのではなく)。
コードの基本的な流れは次のとおりです。
JFrame f = new JFrame();
JEditorPane jep = new JEditorPane();
JScrollPane jsp = new JScrollPane(jep);
f.add(jsp);
JScrollPane
子の拡大に問題がありJEditorPane
ますが、再度サイズを変更するときに水平スクロール バーを強制します (JEditorPane
ラッピングを強制的に再計算するのではなく)。
コードの基本的な流れは次のとおりです。
JFrame f = new JFrame();
JEditorPane jep = new JEditorPane();
JScrollPane jsp = new JScrollPane(jep);
f.add(jsp);
ScrollPaneManager
これはハックですが、(醜いsを使用せずに)見つけることができる最良の方法は、サイズが変更されるたびに子コンポーネントのサイズを変更するComponentListener
を実装することでした。JScrollPane
jsp.addComponentListener(new ComponentListener() {
@Override
public void componentShown(ComponentEvent e) {}
@Override
public void componentResized(ComponentEvent e) {
Dimension jspSize = ((JScrollPane)e.getComponent()).getViewport().getSize();
jep.setBounds(0, 0, jspSize.width, jspSize.height);
}
@Override
public void componentMoved(ComponentEvent e) {}
@Override
public void componentHidden(ComponentEvent e) {}
});