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 など。動作は、Component に設定されている実際の LayoutManager によって異なります。

于 2011-05-03T09:39:32.467 に答える
0

これを試してください http://java-sl.com/tip_text_height_measuring.html

于 2011-05-04T05:39:33.193 に答える