diff --git a/CHANGELOG.md b/CHANGELOG.md
index b3f4975f..2b85329c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,7 @@ FlatLaf Change Log
- ComboBox: Use small border if used as table editor.
- ToolBar: Disable focusability of buttons in toolbar.
+- OptionPane: Fixed rendering of longer HTML text. (issue #12)
- SwingX: Support `JXBusyLabel`, `JXHeader`, `JXHyperlink`,
`JXTaskPaneContainer` and `JXTaskPane`. (issue #8)
diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatOptionPaneUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatOptionPaneUI.java
index f9172cc6..a8821785 100644
--- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatOptionPaneUI.java
+++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatOptionPaneUI.java
@@ -23,6 +23,7 @@ import java.awt.GridBagConstraints;
import javax.swing.JComponent;
import javax.swing.UIManager;
import javax.swing.plaf.ComponentUI;
+import javax.swing.plaf.basic.BasicHTML;
import javax.swing.plaf.basic.BasicOptionPaneUI;
import com.formdev.flatlaf.util.UIScale;
@@ -122,6 +123,10 @@ public class FlatOptionPaneUI
if( messagePadding > 0 )
cons.insets.bottom = UIScale.scale( messagePadding );
+ // disable line wrapping for HTML
+ if( msg instanceof String && BasicHTML.isHTMLString( (String) msg ) )
+ maxll = Integer.MAX_VALUE;
+
super.addMessageComponents( container, cons, msg, maxll, internallyCreated );
}
diff --git a/flatlaf-core/src/test/java/com/formdev/flatlaf/FlatOptionPaneTest.java b/flatlaf-core/src/test/java/com/formdev/flatlaf/FlatOptionPaneTest.java
index c7707fee..816a2221 100644
--- a/flatlaf-core/src/test/java/com/formdev/flatlaf/FlatOptionPaneTest.java
+++ b/flatlaf-core/src/test/java/com/formdev/flatlaf/FlatOptionPaneTest.java
@@ -201,7 +201,7 @@ public class FlatOptionPaneTest
//---- warningOptionPane ----
warningOptionPane.setMessageType(JOptionPane.WARNING_MESSAGE);
warningOptionPane.setOptionType(JOptionPane.OK_CANCEL_OPTION);
- warningOptionPane.setMessage("Beware of the dog!");
+ warningOptionPane.setMessage("I like bold,
and I like italic,
and I like to have
many lines.
Lots of lines.");
panel5.add(warningOptionPane, BorderLayout.CENTER);
}
add(panel5, "cell 1 4");
diff --git a/flatlaf-core/src/test/java/com/formdev/flatlaf/FlatOptionPaneTest.jfd b/flatlaf-core/src/test/java/com/formdev/flatlaf/FlatOptionPaneTest.jfd
index c36ad672..5bad3060 100644
--- a/flatlaf-core/src/test/java/com/formdev/flatlaf/FlatOptionPaneTest.jfd
+++ b/flatlaf-core/src/test/java/com/formdev/flatlaf/FlatOptionPaneTest.jfd
@@ -140,7 +140,7 @@ new FormModel {
name: "warningOptionPane"
"messageType": 2
"optionType": 2
- "message": "Beware of the dog!"
+ "message": "I like bold,
and I like italic,
and I like to have
many lines.
Lots of lines."
}, new FormLayoutConstraints( class java.lang.String ) {
"value": "Center"
} )
diff --git a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/OptionPanePanel.java b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/OptionPanePanel.java
index 6a5f9031..11b88bff 100644
--- a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/OptionPanePanel.java
+++ b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/OptionPanePanel.java
@@ -201,7 +201,7 @@ class OptionPanePanel
//---- warningOptionPane ----
warningOptionPane.setMessageType(JOptionPane.WARNING_MESSAGE);
warningOptionPane.setOptionType(JOptionPane.OK_CANCEL_OPTION);
- warningOptionPane.setMessage("Beware of the dog!");
+ warningOptionPane.setMessage("I like bold,
and I like italic,
and I like to have
many lines.
Lots of lines.");
panel5.add(warningOptionPane, BorderLayout.CENTER);
}
panel9.add(panel5, "cell 1 4");
diff --git a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/OptionPanePanel.jfd b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/OptionPanePanel.jfd
index 59231d01..b0408f95 100644
--- a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/OptionPanePanel.jfd
+++ b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/OptionPanePanel.jfd
@@ -143,7 +143,7 @@ new FormModel {
name: "warningOptionPane"
"messageType": 2
"optionType": 2
- "message": "Beware of the dog!"
+ "message": "I like bold,
and I like italic,
and I like to have
many lines.
Lots of lines."
}, new FormLayoutConstraints( class java.lang.String ) {
"value": "Center"
} )