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

最佳答案

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

09-13 04:56