JButtons 中的自动换行
是否可以在 JButtons 中实现文本的自动换行?我在运行时创建的动态按钮很少。我想在按钮上放置自动换行功能,以便我可以看到对按钮的更好测试。有可能做到这一点吗?
是否可以在 JButtons 中实现文本的自动换行?我在运行时创建的动态按钮很少。我想在按钮上放置自动换行功能,以便我可以看到对按钮的更好测试。有可能做到这一点吗?
此示例使用 Java 的内置 CSS 渲染功能来完成确定何时进行换行的“繁重工作”。它使用 ,但相同的原则适用于任何将呈现 HTML 的组件。JLabel
import javax.swing.*;
class FixedWidthText {
public static void showLabel(int width, String units) {
String content1 = "<html>"
+ "<body style='background-color: white; width: ";
String content2 = "'>"
+ "<h1>Fixed Width</h1>"
+ "<p>Body width fixed at ";
String content3
= " using CSS. "
+ "Java's HTML"
+ " support includes support"
+ " for basic CSS.</p>";
final String content = content1 + width + units
+ content2 + width + units + content3;
Runnable r = () -> {
JLabel label = new JLabel(content);
JOptionPane.showMessageDialog(null, label);
};
SwingUtilities.invokeLater(r);
}
public static void main(String[] args) {
showLabel(160, "px");
showLabel(200, "px");
showLabel(50, "%");
}
}
使用 HTML...
button.setText("<html><center>"+"This is a"+"<br>"+"swing button"+"</center></html>");