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);
这是一个 hack,但我能找到的最好方法(不使用丑陋的 s)是在调整子组件大小时ScrollPaneManager
实现 a来调整子组件的大小。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) {}
});