Мне нужен диалог, который автоматически форматирует для меня текст.
Используйте 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);
}
});
}
}
Но если строка уже многострочная (содержит одну или несколько \ n), она форматирует только первую строку строки.
Заменить все \n
на <br>
& \n\n
на <p>
.
Я теряю символы "<" и ">".Если строка содержит такие символы - они не будут отображаться в диалоговом окне
Для <
& >
, переведите их в эквиваленты HTML, <
& >
.