home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 March / pcp161a.iso / handson / files / copyjava.exe / com / sun / java / swing / plaf / metal / MetalInternalFrameUI.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-02-26  |  3.0 KB  |  90 lines

  1. package com.sun.java.swing.plaf.metal;
  2.  
  3. import com.sun.java.swing.JComponent;
  4. import com.sun.java.swing.JInternalFrame;
  5. import com.sun.java.swing.LookAndFeel;
  6. import com.sun.java.swing.border.Border;
  7. import com.sun.java.swing.border.EmptyBorder;
  8. import com.sun.java.swing.plaf.ComponentUI;
  9. import com.sun.java.swing.plaf.UIResource;
  10. import com.sun.java.swing.plaf.basic.BasicInternalFrameUI;
  11. import java.awt.Container;
  12. import java.beans.PropertyChangeListener;
  13.  
  14. public class MetalInternalFrameUI extends BasicInternalFrameUI {
  15.    private MetalInternalFrameTitlePane titlePane;
  16.    private PropertyChangeListener paletteListener;
  17.    private PropertyChangeListener contentPaneListener;
  18.    private static final Border handyEmptyBorder = new EmptyBorder(0, 0, 0, 0);
  19.    protected static String IS_PALETTE = "JInternalFrame.isPalette";
  20.  
  21.    public MetalInternalFrameUI(JInternalFrame var1) {
  22.       super(var1);
  23.    }
  24.  
  25.    public static ComponentUI createUI(JComponent var0) {
  26.       return new MetalInternalFrameUI((JInternalFrame)var0);
  27.    }
  28.  
  29.    public void installUI(JComponent var1) {
  30.       super.frame = (JInternalFrame)var1;
  31.       this.paletteListener = new PaletteListener(this);
  32.       this.contentPaneListener = new ContentPaneListener(this);
  33.       var1.addPropertyChangeListener(this.paletteListener);
  34.       var1.addPropertyChangeListener(this.contentPaneListener);
  35.       super.installUI(var1);
  36.       Object var2 = var1.getClientProperty(IS_PALETTE);
  37.       if (var2 != null) {
  38.          this.setPalette((Boolean)var2);
  39.       }
  40.  
  41.       Container var3 = super.frame.getContentPane();
  42.       this.stripContentBorder(var3);
  43.    }
  44.  
  45.    public void uninstallUI(JComponent var1) {
  46.       var1.removePropertyChangeListener(this.paletteListener);
  47.       var1.removePropertyChangeListener(this.contentPaneListener);
  48.       Container var2 = ((JInternalFrame)var1).getContentPane();
  49.       if (var2 instanceof JComponent) {
  50.          JComponent var3 = (JComponent)var2;
  51.          if (var3.getBorder() == handyEmptyBorder) {
  52.             var3.setBorder((Border)null);
  53.          }
  54.       }
  55.  
  56.       super.uninstallUI(var1);
  57.    }
  58.  
  59.    private void stripContentBorder(Object var1) {
  60.       if (var1 instanceof JComponent) {
  61.          JComponent var2 = (JComponent)var1;
  62.          Border var3 = var2.getBorder();
  63.          if (var3 == null || var3 instanceof UIResource) {
  64.             var2.setBorder(handyEmptyBorder);
  65.          }
  66.       }
  67.  
  68.    }
  69.  
  70.    protected JComponent createNorthPane(JInternalFrame var1) {
  71.       this.titlePane = new MetalInternalFrameTitlePane(var1);
  72.       return this.titlePane;
  73.    }
  74.  
  75.    public void setPalette(boolean var1) {
  76.       if (var1) {
  77.          LookAndFeel.installBorder(super.frame, "InternalFrame.paletteBorder");
  78.       } else {
  79.          LookAndFeel.installBorder(super.frame, "InternalFrame.border");
  80.       }
  81.  
  82.       this.titlePane.setPalette(var1);
  83.    }
  84.  
  85.    // $FF: synthetic method
  86.    static void access$0(MetalInternalFrameUI var0, Object var1) {
  87.       var0.stripContentBorder(var1);
  88.    }
  89. }
  90.