home *** CD-ROM | disk | FTP | other *** search
- import com.sun.java.swing.Icon;
- import com.sun.java.swing.ImageIcon;
- import com.sun.java.swing.JComponent;
- import com.sun.java.swing.JLabel;
- import com.sun.java.swing.JTree;
- import com.sun.java.swing.tree.DefaultMutableTreeNode;
- import com.sun.java.swing.tree.TreeCellRenderer;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Font;
- import java.awt.Graphics;
-
- public class SampleTreeCellRenderer extends JLabel implements TreeCellRenderer {
- protected static Font defaultFont;
- protected static ImageIcon collapsedIcon;
- protected static ImageIcon expandedIcon;
- protected static final Color SelectedBackgroundColor;
- protected boolean selected;
-
- public Component getTreeCellRendererComponent(JTree var1, Object var2, boolean var3, boolean var4, boolean var5, int var6, boolean var7) {
- String var8 = var1.convertValueToText(var2, var3, var4, var5, var6, var7);
- ((JLabel)this).setText(var8);
- ((JComponent)this).setToolTipText(var8);
- if (var4) {
- ((JLabel)this).setIcon(expandedIcon);
- } else if (!var5) {
- ((JLabel)this).setIcon(collapsedIcon);
- } else {
- ((JLabel)this).setIcon((Icon)null);
- }
-
- SampleData var9 = (SampleData)((DefaultMutableTreeNode)var2).getUserObject();
- if (var7) {
- ((Component)this).setForeground(Color.cyan);
- } else {
- ((Component)this).setForeground(var9.getColor());
- }
-
- if (var9.getFont() == null) {
- ((JLabel)this).setFont(defaultFont);
- } else {
- ((JLabel)this).setFont(var9.getFont());
- }
-
- this.selected = var3;
- return this;
- }
-
- public void paint(Graphics var1) {
- Icon var3 = ((JLabel)this).getIcon();
- Color var2;
- if (this.selected) {
- var2 = SelectedBackgroundColor;
- } else if (((Component)this).getParent() != null) {
- var2 = ((Component)this).getParent().getBackground();
- } else {
- var2 = ((Component)this).getBackground();
- }
-
- var1.setColor(var2);
- if (var3 != null && ((JLabel)this).getText() != null) {
- int var4 = var3.getIconWidth() + ((JLabel)this).getIconTextGap();
- var1.fillRect(var4, 0, ((JComponent)this).getWidth() - 1 - var4, ((JComponent)this).getHeight() - 1);
- } else {
- var1.fillRect(0, 0, ((JComponent)this).getWidth() - 1, ((JComponent)this).getHeight() - 1);
- }
-
- super.paint(var1);
- }
-
- static {
- SelectedBackgroundColor = Color.yellow;
-
- try {
- defaultFont = new Font("SansSerif", 0, 12);
- } catch (Exception var2) {
- }
-
- try {
- collapsedIcon = new ImageIcon("images/collapsed.gif");
- expandedIcon = new ImageIcon("images/expanded.gif");
- } catch (Exception var1) {
- System.out.println("Couldn't load images: " + var1);
- }
- }
- }
-