home *** CD-ROM | disk | FTP | other *** search
/ Australian PC Authority 1999 May / may1999.iso / May / JBUILDER / JSAMPLES.Z / TreeCombo$ListEntryRenderer.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-04-30  |  2.3 KB  |  62 lines

  1. import com.sun.java.swing.ImageIcon;
  2. import com.sun.java.swing.JComponent;
  3. import com.sun.java.swing.JLabel;
  4. import com.sun.java.swing.JList;
  5. import com.sun.java.swing.ListCellRenderer;
  6. import com.sun.java.swing.UIManager;
  7. import com.sun.java.swing.border.Border;
  8. import com.sun.java.swing.border.EmptyBorder;
  9. import java.awt.Component;
  10.  
  11. class TreeCombo$ListEntryRenderer extends JLabel implements ListCellRenderer {
  12.    // $FF: synthetic field
  13.    private final TreeCombo this$0;
  14.    ImageIcon leafIcon;
  15.    ImageIcon nodeIcon;
  16.  
  17.    public TreeCombo$ListEntryRenderer(TreeCombo var1) {
  18.       this.this$0 = var1;
  19.       this.this$0 = var1;
  20.       this.leafIcon = SwingSet.sharedInstance().loadImageIcon("images/document.gif", "Document");
  21.       this.nodeIcon = SwingSet.sharedInstance().loadImageIcon("images/folder.gif", "Folder");
  22.       ((JComponent)this).setOpaque(true);
  23.    }
  24.  
  25.    public Component getListCellRendererComponent(JList var1, Object var2, int var3, boolean var4, boolean var5) {
  26.       TreeCombo$ListEntry var6 = (TreeCombo$ListEntry)var2;
  27.       if (var6 != null) {
  28.          ((JLabel)this).setText(var6.object().toString());
  29.          ((JLabel)this).setIcon(var6.isNode() ? this.nodeIcon : this.leafIcon);
  30.          Object var7;
  31.          if (var3 != -1) {
  32.             var7 = new EmptyBorder(0, 16 * var6.level(), 0, 0);
  33.          } else {
  34.             var7 = TreeCombo.emptyBorder;
  35.          }
  36.  
  37.          if (UIManager.getLookAndFeel().getName().equals("CDE/Motif")) {
  38.             if (var3 == -1) {
  39.                ((JComponent)this).setOpaque(false);
  40.             } else {
  41.                ((JComponent)this).setOpaque(true);
  42.             }
  43.          } else {
  44.             ((JComponent)this).setOpaque(true);
  45.          }
  46.  
  47.          ((JComponent)this).setBorder((Border)var7);
  48.          if (var4) {
  49.             ((Component)this).setBackground(UIManager.getColor("ComboBox.selectedBackground"));
  50.             ((Component)this).setForeground(UIManager.getColor("ComboBox.selectedForeground"));
  51.          } else {
  52.             ((Component)this).setBackground(UIManager.getColor("ComboBox.background"));
  53.             ((Component)this).setForeground(UIManager.getColor("ComboBox.foreground"));
  54.          }
  55.       } else {
  56.          ((JLabel)this).setText("");
  57.       }
  58.  
  59.       return this;
  60.    }
  61. }
  62.