如何计算JTextPane的实际高度和长度

时间:2011-05-03 09:27:17

标签: java swing jtextpane

我设置了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),如何在限制最大宽度时计算实际所需的高度?

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)