可以为body
使用HTML样式(CSS)设置宽度。反过来,这将确定要渲染的行数,并由此确定标签的首选高度。
在CSS中设置宽度避免了需要计算标签(或标签的最佳尺寸)出现换行的位置。
import javax.swing.*;
public class FixedWidthLabel {
public static void main(String[] srgs) {
final String s = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean eu nulla urna. Donec sit amet risus nisl, a porta enim. Quisque luctus, ligula eu scelerisque gravida, tellus quam vestibulum urna, ut aliquet sapien purus sed erat. Pellentesque consequat vehicula magna, eu aliquam magna interdum porttitor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed sollicitudin sapien non leo tempus lobortis. Morbi semper auctor ipsum, a semper quam elementum a. Aliquam eget sem metus.";
final String html = "<html><body style='width: %1spx'>%1s";
Runnable r = () -> {
JOptionPane.showMessageDialog(
null, String.format(html, 200, s));
JOptionPane.showMessageDialog(
null, String.format(html, 300, s));
};
SwingUtilities.invokelater(r);
}
}