Thank you, it works perfectly! /Patrik
Den tors 7 juni 2018 kl 07:42 skrev Emilian Bold <emilian.b...@protonmail.ch >: > What I see in ./applemenu/src/org/netbeans/modules/applemenu/layer.xml > is that the generic action is hidden on macOS: > > <!-- Hide menu items that belong on Apple's app menu --> > <folder name="Actions"> > <folder name="Window"> > <file > name="org-netbeans-core-windows-actions-ToggleFullScreenAction.instance_hidden"/> > </folder> > </folder> > > > That's why you are getting a null. > > So, there is no API to call that action on macOS as far as I can tell. > > This workaround does the trick (inspired by > https://gist.github.com/dohpaz42/4200907 ): > > > @SuppressWarnings({"unchecked", "rawtypes"}) > public static void requestToggleFullScreen(Window window) > { > try { > Class appClass = Class.forName("com.apple.eawt.Application"); > Class params[] = new Class[]{}; > > Method getApplication = appClass.getMethod("getApplication", > params); > Object application = getApplication.invoke(appClass); > Method requestToggleFulLScreen = > application.getClass().getMethod("requestToggleFullScreen", Window.class); > > requestToggleFulLScreen.invoke(application, window); > } catch (Exception e) { > System.out.println("An exception occurred while trying to > toggle full screen mode"); > } > } > > requestToggleFullScreen(Frame.getWindows()[0]); > > --emi > > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ > > On 6 June 2018 5:44 PM, Patrik Karlström <pat...@trixon.se> wrote: > > > Den ons 6 juni 2018 kl 14:36 skrev Emilian Bold < > emilian.b...@protonmail.ch>: > > > > > The actual NPE might help. Maybe you have to create a dummy even and > not send null to actionPerformed? > > > > > > If it's reproducible you should report it to the bugtracker > https://issues.apache.org/jira/projects/NETBEANS/summary > > > > > > --emi > > > > > > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ > > > > > > On 6 June 2018 2:36 PM, Patrik Karlström <pat...@trixon.se> wrote: > > > > > > > Hi, > > > > > > > > > > > > > > Actions.forID("Window", > "org.netbeans.core.windows.actions.ToggleFullScreenAction").actionPerformed(null); > > > > > > > > > > > > > > I *think* that I have successfully run the code above on a mac a > couple of years back, but that might have been before they changed their > maximize/full screen handling. > > > > > > > > > > > > > > Today I noticed that it failed with an NPE on the mac. > > > > Just noticed that it is the action itself that is null. > > > > Action a=Actions.forID("Window", > "org.netbeans.core.windows.actions.ToggleFullScreenAction"); > > > > results in a==null. > > > > All this is done on JDK8 171 and NetBeans 8.2, and on what I guess is an > up to date Mac. > > > > How does it work on other Macs? >