JFormDesigner / FlatLaf

FlatLaf - Swing Look and Feel (with Darcula/IntelliJ themes support)
https://www.formdev.com/flatlaf/
Apache License 2.0
3.3k stars 266 forks source link

Popup menus that goes outside of parent window fail to open on platforms without compositing #869

Closed X547 closed 1 month ago

X547 commented 1 month ago

Tested on Netbeans 22.

java.lang.UnsupportedOperationException: PERPIXEL_TRANSLUCENT translucency is not supported
    at java.desktop/java.awt.Window.setBackground(Window.java:3897)
    at com.formdev.flatlaf.ui.FlatPopupFactory$DropShadowPopup.<init>(FlatPopupFactory.java:623)
    at com.formdev.flatlaf.ui.FlatPopupFactory.getPopup(FlatPopupFactory.java:119)
    at java.desktop/javax.swing.plaf.PopupMenuUI.getPopup(PopupMenuUI.java:71)
    at com.formdev.flatlaf.ui.FlatPopupMenuUI.getPopup(FlatPopupMenuUI.java:216)
    at java.desktop/javax.swing.JPopupMenu.showPopup(JPopupMenu.java:853)
    at java.desktop/javax.swing.JPopupMenu.setVisible(JPopupMenu.java:806)
    at java.desktop/javax.swing.JPopupMenu.show(JPopupMenu.java:980)
    at org.netbeans.editor.EditorUI.showPopupMenu(EditorUI.java:1813)
    at org.netbeans.editor.EditorUI$7.run(EditorUI.java:1725)
    at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:741)
    at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:136)
[catch] at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
DevCharly commented 1 month ago

...fail to open on platforms without compositing

More details please.

Windows 10, 11, Linux or macOS? And how to disable "compositing" on affected platform?

X547 commented 1 month ago

Linux KDE: https://askubuntu.com/questions/758250/how-to-deactivate-all-the-desktop-effects-of-kde-permanently

Haiku OS currently do not support compositing.

Problem do not appear on older versions of FlatLaf (bundled with Netbeans 11).

The best would be automatically detect that composition is not supported and disable shadows. Adding option to disable shadows is also acceptable.

Netbeans on Haiku: screenshot637

DevCharly commented 1 month ago

fixed in latest 3.5.1-SNAPSHOT: https://github.com/JFormDesigner/FlatLaf#snapshots