如何使JScrollPane中包含的JTextPane缩小以适合文本

时间:2012-10-30 03:50:14

标签: java swing size jscrollpane jtextpane

我有一个带有HTML文字的JTextPane

我使用GroupLayout(使用WindowBuilder)。

我已将JFrame的最小尺寸设置为800x600,因此用户无法使其小于此值。

该应用的整个窗口大小滚动JPanel。面板的顶部由JTextPane包裹的JScrollPane占据。我已禁用滚动条并调整JScrollPane的大小以使整个文本可见。

在组布局中,JScrollPane设置为垂直保持不变,但水平大小。

我的问题是,当用户使窗口变大时,JScrollPane也会扩展,但现在文本窗格底部会留下一个很大的空白区域。有没有办法让JTextPane缩小以适应其内容。

另外,如果你建议不同的布局,我愿意尝试。

2 个答案:

答案 0 :(得分:2)

我使用@camickr的这个TextPanePerfectSize示例来解决类似的问题。该示例使用validate()pack()来调整为首选大小。您可以根据自己的情况调整它。

答案 1 :(得分:1)

看看SpringLayout。它使您可以更好地控制组件的定位。如果你遇到困难,请查看SpringLayout tutorial

您的案例中的技巧是将JScrollPane的底部(南部)绑定到屏幕的顶部(北部)。