< prev index next >

src/java.desktop/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java

Print this page

        

@@ -376,11 +376,11 @@
             if (this.undecorated) styleBits = SET(styleBits, DECORATED, false);
         }
 
         // Either java.awt.Frame or java.awt.Dialog can be resizable, however java.awt.Window is never resizable
         {
-            final boolean resizable = isTargetResizable() && isNativelyFocusableWindow();
+            final boolean resizable = isFrame ? ((Frame)target).isResizable() : (isDialog ? ((Dialog)target).isResizable() : false);
             styleBits = SET(styleBits, RESIZABLE, resizable);
             if (!resizable) {
                 styleBits = SET(styleBits, ZOOMABLE, false);
             }
         }

@@ -480,20 +480,10 @@
         peer.setTextured(IS(TEXTURED, styleBits));
 
         return styleBits;
     }
 
-    private boolean isTargetResizable() {
-        if (target instanceof Frame) {
-            return ((Frame)target).isResizable();
-        } else if (target instanceof Dialog) {
-            return ((Dialog)target).isResizable();
-        }
-
-        return false;
-    }
-
     // this is the counter-point to -[CWindow _nativeSetStyleBit:]
     private void setStyleBits(final int mask, final boolean value) {
         execute(ptr -> nativeSetNSWindowStyleBits(ptr, mask, value ? mask : 0));
     }
 

@@ -684,13 +674,14 @@
         this.visible = visible;
 
         // Manage the extended state when showing
         if (visible) {
             /* Frame or Dialog should be set property WINDOW_FULLSCREENABLE to true if the
-            Frame or Dialog is resizable and focusable.
+            Frame or Dialog is resizable.
             **/
-            final boolean resizable = isTargetResizable() && isNativelyFocusableWindow();
+            final boolean resizable = (target instanceof Frame) ? ((Frame)target).isResizable() :
+            ((target instanceof Dialog) ? ((Dialog)target).isResizable() : false);
             if (resizable) {
                 setCanFullscreen(true);
             }
 
             // Apply the extended state as expected in shared code

@@ -821,14 +812,13 @@
         }
     }
 
     @Override
     public void setResizable(final boolean resizable) {
-        final boolean windowResizable = resizable && isNativelyFocusableWindow();
-        setCanFullscreen(windowResizable);
-        setStyleBits(RESIZABLE, windowResizable);
-        setStyleBits(ZOOMABLE, windowResizable);
+        setCanFullscreen(resizable);
+        setStyleBits(RESIZABLE, resizable);
+        setStyleBits(ZOOMABLE, resizable);
     }
 
     @Override
     public void setSizeConstraints(int minW, int minH, int maxW, int maxH) {
         execute(ptr -> nativeSetNSWindowMinMax(ptr, minW, minH, maxW, maxH));

@@ -866,12 +856,12 @@
         return ref.get();
     }
 
     @Override
     public void updateFocusableWindowState() {
-        setStyleBits(SHOULD_BECOME_KEY | SHOULD_BECOME_MAIN | RESIZABLE,
-                (isNativelyFocusableWindow() && isTargetResizable()));
+        final boolean isFocusable = isNativelyFocusableWindow();
+        setStyleBits(SHOULD_BECOME_KEY | SHOULD_BECOME_MAIN, isFocusable); // set both bits at once
     }
 
     @Override
     public void setAlwaysOnTop(boolean isAlwaysOnTop) {
         setStyleBits(ALWAYS_ON_TOP, isAlwaysOnTop);
< prev index next >