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

  1. package com.sun.java.swing.plaf.basic;
  2.  
  3. import com.sun.java.swing.JComponent;
  4. import com.sun.java.swing.JInternalFrame;
  5. import com.sun.java.swing.JLayeredPane;
  6. import com.sun.java.swing.LookAndFeel;
  7. import com.sun.java.swing.border.Border;
  8. import com.sun.java.swing.plaf.ComponentUI;
  9. import com.sun.java.swing.plaf.DesktopIconUI;
  10. import java.awt.BorderLayout;
  11. import java.awt.Component;
  12. import java.awt.Container;
  13. import java.awt.Dimension;
  14. import java.awt.Insets;
  15. import java.awt.LayoutManager;
  16. import java.awt.event.MouseListener;
  17. import java.awt.event.MouseMotionListener;
  18. import java.beans.PropertyVetoException;
  19. import java.io.Serializable;
  20. import java.util.EventListener;
  21.  
  22. public class BasicDesktopIconUI extends DesktopIconUI implements Serializable {
  23.    JInternalFrame.JDesktopIcon desktopIcon;
  24.    JComponent iconPane;
  25.    EventListener mml;
  26.    JInternalFrame frame;
  27.  
  28.    public static ComponentUI createUI(JComponent var0) {
  29.       return new BasicDesktopIconUI();
  30.    }
  31.  
  32.    public void installUI(JComponent var1) {
  33.       this.desktopIcon = (JInternalFrame.JDesktopIcon)var1;
  34.       this.frame = this.desktopIcon.getInternalFrame();
  35.       this.installDefaults(this.desktopIcon);
  36.       this.installComponents(this.desktopIcon);
  37.       this.installListeners(this.desktopIcon);
  38.       JLayeredPane.putLayer(this.desktopIcon, JLayeredPane.getLayer(this.frame));
  39.    }
  40.  
  41.    public void uninstallUI(JComponent var1) {
  42.       this.installDefaults(this.desktopIcon);
  43.       this.uninstallComponents(this.desktopIcon);
  44.       this.uninstallListeners(this.desktopIcon);
  45.       this.desktopIcon = null;
  46.       this.frame = null;
  47.    }
  48.  
  49.    protected void installComponents(JInternalFrame.JDesktopIcon var1) {
  50.       this.frame = var1.getInternalFrame();
  51.       this.iconPane = new BasicInternalFrameTitlePane(this.frame);
  52.       ((Container)var1).setLayout(new BorderLayout());
  53.       ((Container)var1).add(this.iconPane, "Center");
  54.    }
  55.  
  56.    protected void uninstallComponents(JInternalFrame.JDesktopIcon var1) {
  57.       ((Container)var1).setLayout((LayoutManager)null);
  58.       ((Container)var1).remove(this.iconPane);
  59.    }
  60.  
  61.    protected void installListeners(JInternalFrame.JDesktopIcon var1) {
  62.       this.mml = this.createMotionListener(this.desktopIcon);
  63.       ((Component)var1).addMouseMotionListener((MouseMotionListener)this.mml);
  64.       ((Component)var1).addMouseListener((MouseListener)this.mml);
  65.    }
  66.  
  67.    protected void uninstallListeners(JInternalFrame.JDesktopIcon var1) {
  68.       ((Component)var1).removeMouseMotionListener((MouseMotionListener)this.mml);
  69.       ((Component)var1).removeMouseListener((MouseListener)this.mml);
  70.    }
  71.  
  72.    protected void installDefaults(JInternalFrame.JDesktopIcon var1) {
  73.       LookAndFeel.installBorder(var1, "DesktopIcon.border");
  74.    }
  75.  
  76.    protected void uninstallDefaults(JInternalFrame.JDesktopIcon var1) {
  77.    }
  78.  
  79.    protected MotionListener createMotionListener(JInternalFrame.JDesktopIcon var1) {
  80.       return new MotionListener(this);
  81.    }
  82.  
  83.    public Dimension getPreferredSize(JComponent var1) {
  84.       JInternalFrame var2 = this.desktopIcon.getInternalFrame();
  85.       Border var3 = ((JComponent)var2).getBorder();
  86.       short var4 = 157;
  87.       int var5 = 18;
  88.       if (var3 != null) {
  89.          var5 += var3.getBorderInsets(var2).bottom + var3.getBorderInsets(var2).top;
  90.       }
  91.  
  92.       return new Dimension(var4, var5);
  93.    }
  94.  
  95.    public Dimension getMinimumSize(JComponent var1) {
  96.       return this.iconPane.getMinimumSize();
  97.    }
  98.  
  99.    public Dimension getMaximumSize(JComponent var1) {
  100.       return this.iconPane.getMaximumSize();
  101.    }
  102.  
  103.    public Insets getInsets(JComponent var1) {
  104.       JInternalFrame var2 = this.desktopIcon.getInternalFrame();
  105.       Border var3 = ((JComponent)var2).getBorder();
  106.       return var3 != null ? var3.getBorderInsets(var2) : new Insets(0, 0, 0, 0);
  107.    }
  108.  
  109.    public void deiconize() {
  110.       try {
  111.          this.frame.setIcon(false);
  112.       } catch (PropertyVetoException var1) {
  113.       }
  114.    }
  115. }
  116.