0

我设置了 JTextPane(200px) 的最大宽度并使用以下方法:

if(textPane.getPreferredSize().width> maxWidth ) {
textPane.setSize(maxWidth, Integer.MAX_VALUE);
        View v = textPane.getUI().getRootView(textPane);
        v.setSize(maxWidth, Integer.MAX_VALUE);
        int preferredHeight = (int) v.getPreferredSpan(View.Y_AXIS);
        textPane.setPreferredSize(new Dimension(maxWidth, preferredHeight));
}

但是计算的高度不是“真实”高度,它比需要的高一点,宽度也比需要的宽一点(大约 25 px),当限制最大宽度时如何计算实际需要的高度?

4

2 回答 2

2

setPreferredSize()、setMaximumSize 等。行为取决于在您的组件中设置的实际 LayoutManager。

于 2011-05-03T09:39:32.467 回答
0

Try this http://java-sl.com/tip_text_height_measuring.html

于 2011-05-04T05:39:33.193 回答