Closed joostplas closed 8 months ago
@joostplas This is the problem with trying to support a platform I don't own :) From the trace back It looks to me that the Builder is using the built in theme AquaLookAndFeel instead of one of the JFormDesigner/FlatLaf and this theme isn't working correctly.
Forcing builder to use one of the FlatLaf themes might fix your problem but currently the only way to do that is through the edit->options which is crashing. Hmmm....
This is only a guess of course.
First did you manually change themes or did the builder simply startup this way? Based upon your answer I'll try and come up with a work-around... Paul--
Thanks for the quick reply!
I didn’t change any of the themes. This happens after a fresh install.
I assume there is no config file which I can edit to manually change the used theme?
@joostplas Maybe there is something you can edit. I think your preferences should be stored in either ~/Library/Preferences/ or /Library/Preferences/
Now either the file will be com.apple.java.util.prefs or a bunch of *.plist files. For instance, if you have a node /a/b/c, the key/value pairs for that node may be stored in a.b.c.plist.
The key we want is:
\com\impulseadventure\builder\general-16\
Now your Java Themes= should be blank so we should first try Flat Dark or Flat Light since there are the most simple. If there work you can try others using the builder's menus edit->options. Example:
"/Java /Themes"="/Flat /Dark"
Now since I don't own a Mac I'm not sure of any of this.
Worst comes to worst I'm build a special version to get over this hump. Maybe have the builder take a command line parameter.
If the edits or a special version of builder works for you I'll spin a 17.b26 version so it won't happen again... Otherwise I'll need your help to dig deeper...
Paul--
Thanks for the reply.
I think I found the correct config file, but couldn't get it too work:
~/Library/Preferences/com.apple.java.util.prefs.plist
file, but it's basically empty and doesn't seem to hold configurationgeneral-16/Java themes
key in ~/Library/Preferences/com.impulseadventure.builder.plist
Am I using the wrong config file? Maybe this file doesn't like manual changes?
Before boot:
After boot:
@joostplas Thanks for trying. Ok, The ball is back in my court. I'll build a new version of the Builder that will take a command line argument to set the theme. Hopefully it will be ready sometime tomorrow. Paul--
Thanks for all the effort! In the meantime I'm running the builder on a separate older laptop running Ubuntu. So I can still enjoy your awesome program. I'm very happy with it so far!
@joostplas Ok, I didn't know what architecture of mac you need so I made the x64 and aarch64 versions for download. Fire it up and let see what happens...
builder-mac-aarch64-0.17.b26-2024-01-23.tgz
builder-mac-x64-0.17.b26-2024-01-23.tgz
NOTE: you need to click the download button for my Google drive and you might get this warning: Google Drive can't scan this file for viruses.
We are experiencing technical difficulties. Would you still like to download this file?
DOWNLOAD Anyway?
Paul--
I'm running x64.
How do I set the theme via the command line? That's the intended fix right?
If I run this build in the normal way, I get the same error, but I guess that's expected.
@joostplas Sadly, No. The 0.17.b26-2024-01-23 version should have forced Flat Dark as the theme. Maybe I missed a spot so this version 0.17.b26-2024-01-24 simply does set Flat Light at startup and doesn't look at any other themes. If you crash in the same way and/or it doesn't look like Flat Light (since you can compare to your older laptop Ubuntu) on startup let me know.
@joostplas To cover all of my bases this version will remove all apple specific code in particular:
if( SystemInfo.isMacOS ) {
// isMAC = true;
// enable screen menu bar
// (moves menu bar from JFrame window to top of screen)
System.setProperty( "apple.laf.useScreenMenuBar", "true" );
// application name used in screen menu bar
// (in first menu after the "apple" menu)
System.setProperty( "apple.awt.application.name", "GUIsliceBuilder" );
// appearance of window title bars
// possible values:
// - "system": use current macOS appearance (light or dark)
// - "NSAppearanceNameAqua": use light appearance
// - "NSAppearanceNameDarkAqua": use dark appearance
// (needs to be set on main thread; setting it on AWT thread does not work)
System.setProperty( "apple.awt.application.appearance", "system" );
}
builder-mac-x64-0.17.b26-2024-01-24-2.tgz
Paul--
So I have good and bad news. The good news is that with both versions it's definitely using the light/white theme. The bad news is that it crashes in the same place and with the exact same error message. It seems that it still looks for these Aqua theme values when attempting to open the dropdown.
I really appreciate all your effort. I'm happy to debug this further and keep testing, but I also understand if you don't want to chase this further. For me it's definitely a viable option to keep working on the Ubuntu laptop.
Thanks again.
class java.lang.NullPointerException: Cannot invoke "javax.swing.border.Border.paintBorder(java.awt.Component, java.awt.Graphics, int, int, int, int)" because the return value of "com.apple.laf.AquaMenuPainter$RecyclableBorder.get()" is null java.desktop/com.apple.laf.AquaMenuPainter.paintSelectedMenuItemBackground(AquaMenuPainter.java:157) java.desktop/com.apple.laf.AquaComboBoxRendererInternal.paintComponent(AquaComboBoxRendererInternal.java:147) java.desktop/javax.swing.JComponent.paint(JComponent.java:1128) java.desktop/javax.swing.CellRendererPane.paintComponent(CellRendererPane.java:170) java.desktop/javax.swing.plaf.basic.BasicListUI.paintCell(BasicListUI.java:293) java.desktop/javax.swing.plaf.basic.BasicListUI.paintImpl(BasicListUI.java:383) java.desktop/javax.swing.plaf.basic.BasicListUI.paint(BasicListUI.java:306) java.desktop/javax.swing.plaf.ComponentUI.update(ComponentUI.java:161) java.desktop/javax.swing.JComponent.paintComponent(JComponent.java:852) java.desktop/javax.swing.JComponent.paint(JComponent.java:1128) java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961) java.desktop/javax.swing.JComponent.paint(JComponent.java:1137) java.desktop/javax.swing.JViewport.paint(JViewport.java:736) java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961) java.desktop/javax.swing.JComponent.paint(JComponent.java:1137) java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961) java.desktop/javax.swing.JComponent.paint(JComponent.java:1137) java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961) java.desktop/javax.swing.JComponent.paint(JComponent.java:1137) java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961) java.desktop/javax.swing.JComponent.paint(JComponent.java:1137) java.desktop/javax.swing.JLayeredPane.paint(JLayeredPane.java:586) java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961) java.desktop/javax.swing.JComponent.paintToOffscreen(JComponent.java:5325) java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBufferedImpl(RepaintManager.java:1656) java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1631) java.desktop/javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1569) java.desktop/javax.swing.RepaintManager.paint(RepaintManager.java:1336) java.desktop/javax.swing.JComponent.paint(JComponent.java:1114) java.desktop/java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39) java.desktop/sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:75) java.desktop/sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:112) java.desktop/java.awt.Container.paint(Container.java:2005) java.desktop/java.awt.Window.paint(Window.java:3959) java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:889) java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:861) java.base/java.security.AccessController.doPrivileged(AccessController.java:399) java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:861) java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:834) java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:784) java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1897) java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318) java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720) java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714) java.base/java.security.AccessController.doPrivileged(AccessController.java:399) java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742) java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:117) java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191) java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236) java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234) java.base/java.security.AccessController.doPrivileged(AccessController.java:318) java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234) java.desktop/java.awt.Dialog.show(Dialog.java:1080) java.desktop/javax.swing.JOptionPane.showOptionDialog(JOptionPane.java:881) java.desktop/javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:677) java.desktop/javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:648) builder@0.17.b26-2024-01-24-2/builder.Builder$2.uncaughtException(Builder.java:310) java.base/java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1083) java.base/java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1078) java.desktop/java.awt.EventDispatchThread.processException(EventDispatchThread.java:222) java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:214) java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:117) java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191) java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236) java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234) java.base/java.security.AccessController.doPrivileged(AccessController.java:318) java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234) java.desktop/java.awt.Dialog.show(Dialog.java:1080) java.desktop/java.awt.Component.show(Component.java:1729) java.desktop/java.awt.Component.setVisible(Component.java:1676) java.desktop/java.awt.Window.setVisible(Window.java:1036) java.desktop/java.awt.Dialog.setVisible(Dialog.java:1016) builder@0.17.b26-2024-01-24-2/builder.controller.UserPrefsManager.showDialog(UserPrefsManager.java:139) builder@0.17.b26-2024-01-24-2/builder.controller.Controller.showPreferences(Controller.java:1372) builder@0.17.b26-2024-01-24-2/builder.views.RibbonListener.actionPerformed(RibbonListener.java:582) java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972) java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313) java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405) java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262) java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:374) java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1029) java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1073) java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:298) java.desktop/java.awt.Component.processMouseEvent(Component.java:6616) java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3398) java.desktop/java.awt.Component.processEvent(Component.java:6381) java.desktop/java.awt.Container.processEvent(Container.java:2266) java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4991) java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324) java.desktop/java.awt.Component.dispatchEvent(Component.java:4823) java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948) java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575) java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516) java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310) java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780) java.desktop/java.awt.Component.dispatchEvent(Component.java:4823) java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775) java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720) java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714) java.base/java.security.AccessController.doPrivileged(AccessController.java:399) java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97) java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747) java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745) java.base/java.security.AccessController.doPrivileged(AccessController.java:399) java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744) java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
@joostplas Well that is bad news. Ok, I guess the next step is to upgrade to the latest FlatLaf libraries , Java and maybe Gradle. But since no one seems to believe in any backward compatibility anymore this will likely take a few weeks or a month or more... So I'm glad you have a working system.
It's not your problem but if you could test any new version I come up with I would greatly appreciate it. I'll post a link when I'm ready. Paul--
I'll definitely re-test whenever you come up with something. All the best.
@joostplas Before I fall into a rat hole upgrading Builder I thought I should try a smaller app to see if upgrading it to FlatLaf 3.3 had a chance of working. This utility should come up in a new theme "Flat Mac Dark" and you should try to use options->themes "Choose Theme" pull-down and see if that works or not.
Paul--
Not sure I understand completely. Is this download supposed to be the regular app or something different? I experience the same app with the same crash, but if I understand your text correctly it should be something different?
@joostplas image2C app I updated to the latest version of flatLaf 3.3 and it should have opened with "Flat Mac Dark" theme. So was the crash exactly the same spot? with the same trace back? If so, it means the problem isn't with the builder but with either Java, or FlatLaf. I'll have to think about what the next step should be...
Ahh I think the image behind the image2c link is wrong which is creating the confusion on my side. It's linking to the previous build?
@joostplas Sorry! Let's try again with this link: image2c-mac-x64-3.00.tgz
I really hope this works because I'm not sure what to try next. Many you running FlatLaf's demo app? Paul--
Works perfectly! No crashes :)
@joostplas Excellent! Now I'll make the same changes to the Builder. This might go faster than I had planned! Paul--
@joostplas Release 0.17.b26 has the update to FlatLaf 3.3 so hopefully this will fix your crashes. Paul--
I'm sorry to say, but this version still has the same crash.
class java.lang.NullPointerException: Cannot invoke "javax.swing.border.Border.paintBorder(java.awt.Component, java.awt.Graphics, int, int, int, int)" because the return value of "com.apple.laf.AquaMenuPainter$RecyclableBorder.get()" is null java.desktop/com.apple.laf.AquaMenuPainter.paintSelectedMenuItemBackground(AquaMenuPainter.java:157) java.desktop/com.apple.laf.AquaComboBoxRendererInternal.paintComponent(AquaComboBoxRendererInternal.java:147) java.desktop/javax.swing.JComponent.paint(JComponent.java:1128) java.desktop/javax.swing.CellRendererPane.paintComponent(CellRendererPane.java:170) java.desktop/javax.swing.plaf.basic.BasicListUI.paintCell(BasicListUI.java:293) java.desktop/javax.swing.plaf.basic.BasicListUI.paintImpl(BasicListUI.java:383) java.desktop/javax.swing.plaf.basic.BasicListUI.paint(BasicListUI.java:306) java.desktop/javax.swing.plaf.ComponentUI.update(ComponentUI.java:161) java.desktop/javax.swing.JComponent.paintComponent(JComponent.java:852) java.desktop/javax.swing.JComponent.paint(JComponent.java:1128) java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961) java.desktop/javax.swing.JComponent.paint(JComponent.java:1137) java.desktop/javax.swing.JViewport.paint(JViewport.java:736) java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961) java.desktop/javax.swing.JComponent.paint(JComponent.java:1137) java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961) java.desktop/javax.swing.JComponent.paint(JComponent.java:1137) java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961) java.desktop/javax.swing.JComponent.paint(JComponent.java:1137) java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961) java.desktop/javax.swing.JComponent.paint(JComponent.java:1137) java.desktop/javax.swing.JLayeredPane.paint(JLayeredPane.java:586) java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961) java.desktop/javax.swing.JComponent.paintToOffscreen(JComponent.java:5325) java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBufferedImpl(RepaintManager.java:1656) java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1631) java.desktop/javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1569) java.desktop/javax.swing.RepaintManager.paint(RepaintManager.java:1336) java.desktop/javax.swing.JComponent.paint(JComponent.java:1114) java.desktop/java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39) java.desktop/sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:75) java.desktop/sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:112) java.desktop/java.awt.Container.paint(Container.java:2005) java.desktop/java.awt.Window.paint(Window.java:3959) java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:889) java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:861) java.base/java.security.AccessController.doPrivileged(AccessController.java:399) java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:861) java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:834) java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:784) java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1897) java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318) java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720) java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714) java.base/java.security.AccessController.doPrivileged(AccessController.java:399) java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742) java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:117) java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191) java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236) java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234) java.base/java.security.AccessController.doPrivileged(AccessController.java:318) java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234) java.desktop/java.awt.Dialog.show(Dialog.java:1080) java.desktop/javax.swing.JOptionPane.showOptionDialog(JOptionPane.java:881) java.desktop/javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:677) java.desktop/javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:648) builder@0.17.b26/builder.Builder$2.uncaughtException(Builder.java:298) java.base/java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1083) java.base/java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1078) java.desktop/java.awt.EventDispatchThread.processException(EventDispatchThread.java:222) java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:214) java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:117) java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191) java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236) java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234) java.base/java.security.AccessController.doPrivileged(AccessController.java:318) java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234) java.desktop/java.awt.Dialog.show(Dialog.java:1080) java.desktop/java.awt.Component.show(Component.java:1729) java.desktop/java.awt.Component.setVisible(Component.java:1676) java.desktop/java.awt.Window.setVisible(Window.java:1036) java.desktop/java.awt.Dialog.setVisible(Dialog.java:1016) builder@0.17.b26/builder.controller.UserPrefsManager.showDialog(UserPrefsManager.java:139) builder@0.17.b26/builder.controller.Controller.showPreferences(Controller.java:1372) builder@0.17.b26/builder.views.RibbonListener.actionPerformed(RibbonListener.java:582) java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972) java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313) java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405) java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262) java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:374) java.desktop/com.apple.laf.ScreenMenuItem.actionPerformed(ScreenMenuItem.java:129) java.desktop/java.awt.MenuItem.processActionEvent(MenuItem.java:692) java.desktop/java.awt.MenuItem.processEvent(MenuItem.java:651) java.desktop/java.awt.MenuComponent.dispatchEventImpl(MenuComponent.java:378) java.desktop/java.awt.MenuComponent.dispatchEvent(MenuComponent.java:367) java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:778) java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720) java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714) java.base/java.security.AccessController.doPrivileged(AccessController.java:399) java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97) java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747) java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745) java.base/java.security.AccessController.doPrivileged(AccessController.java:399) java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744) java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
@joostplas Alright last try, this one forces theme "Flat Mac Dark" ingoring whatever is set in preferences and is now built with Java 21 instead of 18. If this doesn't do it then I give up for now... builder-mac-x64-0.17.b27-SNAPSHOT-0128
Paul--
Unfortunately the same issue. Thanks for trying and all the effort.
@joostplas One more try. In looking further at your traceback I noticed the one line before the null exception was
javax.swing.border.Border.paintBorder
So I scanned all of the Builders code for BorderFactory and found most were for BorderFactory.createEmptyBorder() but a couple were for BorderFactory.createMatteBorder() so I changed them all to BorderFactory.createEmptyBorder(). Maybe that will make a difference???
This version uses FlatLaf 3.3 but goes back to Java 18 since 21 did nothing to help out. builder-mac-x64-0.17.b27-SNAPSHOT-0129
Paul--
Sorry, no dice :(.
class java.lang.NullPointerException: Cannot invoke "javax.swing.border.Border.paintBorder(java.awt.Component, java.awt.Graphics, int, int, int, int)" because the return value of "com.apple.laf.AquaMenuPainter$RecyclableBorder.get()" is null java.desktop/com.apple.laf.AquaMenuPainter.paintSelectedMenuItemBackground(AquaMenuPainter.java:157) java.desktop/com.apple.laf.AquaComboBoxRendererInternal.paintComponent(AquaComboBoxRendererInternal.java:147) java.desktop/javax.swing.JComponent.paint(JComponent.java:1128) java.desktop/javax.swing.CellRendererPane.paintComponent(CellRendererPane.java:170) java.desktop/javax.swing.plaf.basic.BasicListUI.paintCell(BasicListUI.java:293) java.desktop/javax.swing.plaf.basic.BasicListUI.paintImpl(BasicListUI.java:383) java.desktop/javax.swing.plaf.basic.BasicListUI.paint(BasicListUI.java:306) java.desktop/javax.swing.plaf.ComponentUI.update(ComponentUI.java:161) java.desktop/javax.swing.JComponent.paintComponent(JComponent.java:852) java.desktop/javax.swing.JComponent.paint(JComponent.java:1128) java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961) java.desktop/javax.swing.JComponent.paint(JComponent.java:1137) java.desktop/javax.swing.JViewport.paint(JViewport.java:736) java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961) java.desktop/javax.swing.JComponent.paint(JComponent.java:1137) java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961) java.desktop/javax.swing.JComponent.paint(JComponent.java:1137) java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961) java.desktop/javax.swing.JComponent.paint(JComponent.java:1137) java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961) java.desktop/javax.swing.JComponent.paint(JComponent.java:1137) java.desktop/javax.swing.JLayeredPane.paint(JLayeredPane.java:586) java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961) java.desktop/javax.swing.JComponent.paintToOffscreen(JComponent.java:5325) java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBufferedImpl(RepaintManager.java:1656) java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1631) java.desktop/javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1569) java.desktop/javax.swing.RepaintManager.paint(RepaintManager.java:1336) java.desktop/javax.swing.JComponent.paint(JComponent.java:1114) java.desktop/java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39) java.desktop/sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:75) java.desktop/sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:112) java.desktop/java.awt.Container.paint(Container.java:2005) java.desktop/java.awt.Window.paint(Window.java:3959) java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:889) java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:861) java.base/java.security.AccessController.doPrivileged(AccessController.java:399) java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:861) java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:834) java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:784) java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1897) java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318) java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720) java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714) java.base/java.security.AccessController.doPrivileged(AccessController.java:399) java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742) java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:117) java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191) java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236) java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234) java.base/java.security.AccessController.doPrivileged(AccessController.java:318) java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234) java.desktop/java.awt.Dialog.show(Dialog.java:1080) java.desktop/javax.swing.JOptionPane.showOptionDialog(JOptionPane.java:881) java.desktop/javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:677) java.desktop/javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:648) builder@0.17.b27-SNAPSHOT-0129/builder.Builder$2.uncaughtException(Builder.java:299) java.base/java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1083) java.base/java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1078) java.desktop/java.awt.EventDispatchThread.processException(EventDispatchThread.java:222) java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:214) java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:117) java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191) java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236) java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234) java.base/java.security.AccessController.doPrivileged(AccessController.java:318) java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234) java.desktop/java.awt.Dialog.show(Dialog.java:1080) java.desktop/java.awt.Component.show(Component.java:1729) java.desktop/java.awt.Component.setVisible(Component.java:1676) java.desktop/java.awt.Window.setVisible(Window.java:1036) java.desktop/java.awt.Dialog.setVisible(Dialog.java:1016) builder@0.17.b27-SNAPSHOT-0129/builder.controller.UserPrefsManager.showDialog(UserPrefsManager.java:139) builder@0.17.b27-SNAPSHOT-0129/builder.controller.Controller.showPreferences(Controller.java:1372) builder@0.17.b27-SNAPSHOT-0129/builder.views.RibbonListener.actionPerformed(RibbonListener.java:582) java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972) java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313) java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405) java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262) java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:374) java.desktop/com.apple.laf.ScreenMenuItem.actionPerformed(ScreenMenuItem.java:129) java.desktop/java.awt.MenuItem.processActionEvent(MenuItem.java:692) java.desktop/java.awt.MenuItem.processEvent(MenuItem.java:651) java.desktop/java.awt.MenuComponent.dispatchEventImpl(MenuComponent.java:378) java.desktop/java.awt.MenuComponent.dispatchEvent(MenuComponent.java:367) java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:778) java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720) java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714) java.base/java.security.AccessController.doPrivileged(AccessController.java:399) java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97) java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747) java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745) java.base/java.security.AccessController.doPrivileged(AccessController.java:399) java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744) java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
@joostplas Sorry to keep bugging you but I found this on Stack Overflow: Apache NetBeans' GUI designer for JFrame forms throws exception when adding a swing menu bar which seems to match your trace back. So maybe this is the answer. Lets try one more time. This time we try using "Mac OS X" Laf builder-mac-x64-0.17.b27-SNAPSHOT-0130 Paul--
No crash :).
I can change the drop-down settings (graphics library and themes) without any crashes. It doesn’t actually change the theme of the app, but I’m assuming that’s expected with this version.
@joostplas Thanks! Looks like we have at least a solution. But its still not great since you can't use any other theme. I'm going to look into this further and try something else to see if we can get a more modern laf. Please bear with me and we can try again....
I really don't mind sticking with this theme, if that's any help.
@joostplas I hear you. If my next attempt fails I'll just make "Mac OS X" the only theme mac users can access. Most likely it won't be ready until tomorrow.
@joostplas Ok, rewrote my Builder startup code to more closely match the working version of GUIslice_Image2c utility you said worked. If this fails the only thing left to do is force mac users to use just "Mac OS X" theme. builder-mac-x64-0.17.b27-SNAPSHOT-0131.tgz
Paul--
With this build it seems to actually switch the theme (the look and feel changes), but it still crashes afterwards. With a new error though.
Supporting only 1 theme for Mac seems very sensible to me.
class java.lang.NullPointerException: Cannot invoke "javax.swing.JButton.getPreferredSize()" because "this.decrButton" is null java.desktop/javax.swing.plaf.basic.BasicScrollBarUI.layoutVScrollbar(BasicScrollBarUI.java:777) java.desktop/javax.swing.plaf.basic.BasicScrollBarUI.layoutContainer(BasicScrollBarUI.java:984) java.desktop/java.awt.Container.layout(Container.java:1541) java.desktop/java.awt.Container.doLayout(Container.java:1530) java.desktop/java.awt.Container.validateTree(Container.java:1725) java.desktop/java.awt.Container.validateTree(Container.java:1734) java.desktop/java.awt.Container.validateTree(Container.java:1734) java.desktop/java.awt.Container.validateTree(Container.java:1734) java.desktop/java.awt.Container.validateTree(Container.java:1734) java.desktop/java.awt.Container.validateTree(Container.java:1734) java.desktop/java.awt.Container.validate(Container.java:1660) java.desktop/javax.swing.RepaintManager$3.run(RepaintManager.java:757) java.desktop/javax.swing.RepaintManager$3.run(RepaintManager.java:755) java.base/java.security.AccessController.doPrivileged(AccessController.java:399) java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) java.desktop/javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:754) java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1896) java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318) java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720) java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714) java.base/java.security.AccessController.doPrivileged(AccessController.java:399) java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742) java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:117) java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191) java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236) java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234) java.base/java.security.AccessController.doPrivileged(AccessController.java:318) java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234) java.desktop/java.awt.Dialog.show(Dialog.java:1080) java.desktop/javax.swing.JOptionPane.showOptionDialog(JOptionPane.java:881) java.desktop/javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:677) java.desktop/javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:648) builder@0.17.b27-SNAPSHOT-0131/builder.Builder$2.uncaughtException(Builder.java:290) java.base/java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1083) java.base/java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1078) java.desktop/java.awt.EventDispatchThread.processException(EventDispatchThread.java:222) java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:214) java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
@joostplas Ok, You only have to beat me in the head so often.
I give up. 0.17.b27 will force Mac OS X as the theme.
Haha thanks for all the effort.
@joostplas Before I do another checkin I want to confirm what is happening with the latest version SNAPSHOT-0131 1- What happens when you go to E_PROJECT_OPTIONS and select "Target IDE"? do you still crash? 2- When you go to edit->options "Java Themes" the combo box works but you crash after the change of theme? If 1 doesn't crash but 2 does then maybe I simply have to force you to exit and re-enter the builder for a theme change. Paul--
@joostplas I do hate to bother you again but could you test this version builder-mac-x64-0.17.b27.tgz This is what I'm planning on for Release 0.17.b27 Paul--
Works great! Warning shows nicely that you need to restart. No crashes!
@joostplas Super! I'll post the new release now. You won't need to download it since it will be the same as you have.
Thanks again for you help.
Paull-
And thanks to you for the amazing support!
Describe the bug Whenever I try to change a setting, the app crashes with a fatal error. This happens both in the E_PROJECT OPTIONS and the more general 'EDIT > OPTIONS".
It doesn't happen for all settings. I believe (also looking at the error), the app crashes when the field has a dropdown / predefined value list behind it.
Any tips how I can resolve this? Is this a problem with my specific version of Java, OSX or the builder?
To Reproduce Steps to reproduce the behavior:
Crash log / Project files
class java.lang.NullPointerException: Cannot invoke "javax.swing.border.Border.paintBorder(java.awt.Component, java.awt.Graphics, int, int, int, int)" because the return value of "com.apple.laf.AquaMenuPainter$RecyclableBorder.get()" is null java.desktop/com.apple.laf.AquaMenuPainter.paintSelectedMenuItemBackground(AquaMenuPainter.java:157) java.desktop/com.apple.laf.AquaComboBoxRendererInternal.paintComponent(AquaComboBoxRendererInternal.java:147) java.desktop/javax.swing.JComponent.paint(JComponent.java:1128) java.desktop/javax.swing.CellRendererPane.paintComponent(CellRendererPane.java:170) java.desktop/javax.swing.plaf.basic.BasicListUI.paintCell(BasicListUI.java:293) java.desktop/javax.swing.plaf.basic.BasicListUI.paintImpl(BasicListUI.java:383) java.desktop/javax.swing.plaf.basic.BasicListUI.paint(BasicListUI.java:306) java.desktop/javax.swing.plaf.ComponentUI.update(ComponentUI.java:161) java.desktop/javax.swing.JComponent.paintComponent(JComponent.java:852) java.desktop/javax.swing.JComponent.paint(JComponent.java:1128) java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961) java.desktop/javax.swing.JComponent.paint(JComponent.java:1137) java.desktop/javax.swing.JViewport.paint(JViewport.java:736) java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961) java.desktop/javax.swing.JComponent.paint(JComponent.java:1137) java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961) java.desktop/javax.swing.JComponent.paint(JComponent.java:1137) java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961) java.desktop/javax.swing.JComponent.paint(JComponent.java:1137) java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961) java.desktop/javax.swing.JComponent.paint(JComponent.java:1137) java.desktop/javax.swing.JLayeredPane.paint(JLayeredPane.java:586) java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961) java.desktop/javax.swing.JComponent.paintToOffscreen(JComponent.java:5325) java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBufferedImpl(RepaintManager.java:1656) java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1631) java.desktop/javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1569) java.desktop/javax.swing.RepaintManager.paint(RepaintManager.java:1336) java.desktop/javax.swing.JComponent.paint(JComponent.java:1114) java.desktop/java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39) java.desktop/sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:75) java.desktop/sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:112) java.desktop/java.awt.Container.paint(Container.java:2005) java.desktop/java.awt.Window.paint(Window.java:3959) java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:889) java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:861) java.base/java.security.AccessController.doPrivileged(AccessController.java:399) java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:861) java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:834) java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:784) java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1897) java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318) java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720) java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714) java.base/java.security.AccessController.doPrivileged(AccessController.java:399) java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742) java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:117) java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191) java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236) java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234) java.base/java.security.AccessController.doPrivileged(AccessController.java:318) java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234) java.desktop/java.awt.Dialog.show(Dialog.java:1080) java.desktop/javax.swing.JOptionPane.showOptionDialog(JOptionPane.java:881) java.desktop/javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:677) java.desktop/javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:648) builder@0.17.b25/builder.Builder$2.uncaughtException(Builder.java:300) java.base/java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1083) java.base/java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1078) java.desktop/java.awt.EventDispatchThread.processException(EventDispatchThread.java:222) java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:214) java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Version