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)、最大幅を制限するときに実際に必要な高さを計算するにはどうすればよいですか?