1

JScrollPane子の拡大に問題がありJEditorPaneますが、再度サイズを変更するときに水平スクロール バーを強制します (JEditorPaneラッピングを強制的に再計算するのではなく)。

コードの基本的な流れは次のとおりです。

JFrame f = new JFrame();
JEditorPane jep = new JEditorPane();
JScrollPane jsp = new JScrollPane(jep);
f.add(jsp);
4

1 に答える 1

1

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) {}
});
于 2012-12-20T08:49:44.383 に答える