On Mon, 26 May 2025 16:38:21 GMT, Alexey Ivanov <[email protected]> wrote:
> Currently, the default headless message ends with a comma instead of full
> stop and has an additional line break.
>
>
> Exception in thread "AWT-EventQueue-0" java.awt.HeadlessException:
> No X11 DISPLAY variable was set,
> or no headful library support was found,
> but this program performed an operation which requires it,
>
> at
> java.desktop/java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:158)
> at java.desktop/java.awt.Window.<init>(Window.java:518)
> at java.desktop/java.awt.Frame.<init>(Frame.java:428)
> at java.desktop/javax.swing.JFrame.<init>(JFrame.java:224)
>
>
> **Fix:**
>
> Amend the message so that it ends with a full stop and remove the line break.
>
>
> Exception in thread "AWT-EventQueue-0" java.awt.HeadlessException:
> No X11 DISPLAY variable was set,
> or no headful library support was found,
> but this program performed an operation which requires it.
> at
> java.desktop/java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:158)
> at java.desktop/java.awt.Window.<init>(Window.java:518)
> at java.desktop/java.awt.Frame.<init>(Frame.java:428)
> at java.desktop/javax.swing.JFrame.<init>(JFrame.java:224)
>
>
> **Testing:**
>
> Build a headless-only JDK (pass `--enable-headless-only` to the `configure`
> script) and create a `JFrame`.
>
> It's impossible to create an automated test for this change, and I don't
> think a test is required, it's a cosmetic change.
BTW there's a good reason for the newline. It's there on all platforms and has
been there since at least 1.5
If its not there then when you do "System.out.println(new
HeadlessException("foo").getMessage());
and there's a default message, you'll get
fooNo X11 Display variable was set ...
instead of the current more legible
foo
No X11 Display variable was set ...
-------------
PR Comment: https://git.openjdk.org/jdk/pull/25453#issuecomment-2920295348