我正在使用JOptionPane.showMessageDialog(和showConfirmDialog其他方法)这个方法的问题 - 它不格式化文本.如果我传递了很长的消息 - 它将在一行中显示(可能比屏幕分辨率更宽).当然我可以\n在消息中使用,但这对我来说是额外的工作.
我想要一个对话框,它会自动为我格式化文本.
我想要一个对话框,它会自动为我格式化文本.
使用HTML和CSS来限制宽度.
import java.awt.*;
import javax.swing.*;
public class LabelWidthTest {
public static void main(String[] args) {
SwingUtilities.invokeLater( new Runnable() {
public void run() {
String title = "<html><body style='width: 200px; padding: 5px;'>"
+ "<h1>Do U C Me?</h1>"
+ "Here is a long string that will wrap. "
+ "The effect we want is a multi-line label.";
JLabel textLabel = new JLabel(title);
JOptionPane.showMessageDialog(null, textLabel);
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
但是如果string已经是多行(包含一个或多个\n),它只格式化字符串的第一行.
替换所有\n带<br>&\n\n带<p>.
我丢失了"<"和">"符号.如果string包含这样的符号 - 它们将不会显示在对话框中
对于<&>,将它们转换为HTML等价物,<&>.
| 归档时间: |
|
| 查看次数: |
1845 次 |
| 最近记录: |