< prev index next >

src/java.desktop/windows/classes/sun/awt/windows/WDialogPeer.java

Print this page

        

@@ -35,14 +35,10 @@
 
     // Platform default background for dialogs.  Gets set on target if
     // target has none explicitly specified.
     static final Color defaultBackground =  SystemColor.control;
 
-    // If target doesn't have its background color set, we set its
-    // background to platform default.
-    boolean needDefaultBackground;
-
     WDialogPeer(Dialog target) {
         super(target);
 
         InputMethodManager imm = InputMethodManager.getInstance();
         String menuString = imm.getTriggerMenuString();

@@ -65,11 +61,11 @@
     @Override
     void initialize() {
         Dialog target = (Dialog)this.target;
         // Need to set target's background to default _before_ a call
         // to super.initialize.
-        if (needDefaultBackground) {
+        if (!target.isBackgroundSet()) {
             target.setBackground(defaultBackground);
         }
 
         super.initialize();
 

@@ -131,23 +127,10 @@
         } else {
             reshapeFrame(x, y, width, height);
         }
     }
 
-    /* Native create() peeks at target's background and if it's null
-     * calls this method to arrage for default background to be set on
-     * target.  Can't make the check in Java, since getBackground will
-     * return owner's background if target has none set.
-     */
-    private void setDefaultColor() {
-        // Can't call target.setBackground directly, since we are
-        // called on toolkit thread.  Can't schedule a Runnable on the
-        // EventHandlerThread because of the race condition.  So just
-        // set a flag and call target.setBackground in initialize.
-        needDefaultBackground = true;
-    }
-
     native void pSetIMMOption(String option);
     void notifyIMMOptionChange(){
       InputMethodManager.getInstance().notifyChangeRequest((Component)target);
     }
 }
< prev index next >