1 16 17 package com.jaspersoft.jasperserver.irplugin.gui.explorer; 18 19 import com.jaspersoft.jasperserver.api.metadata.xml.domain.impl.ResourceDescriptor; 20 import com.jaspersoft.jasperserver.irplugin.gui.RepositoryTreeCellRenderer; 21 import java.awt.Component ; 22 import java.awt.Graphics ; 23 import java.awt.Image ; 24 import javax.swing.DefaultListCellRenderer ; 25 import javax.swing.ImageIcon ; 26 import javax.swing.JList ; 27 import javax.swing.JTable ; 28 import javax.swing.table.TableCellRenderer ; 29 30 34 public class ExplorerCellRenderer extends DefaultListCellRenderer { 35 36 final static ImageIcon longIcon = new ImageIcon ("long.gif"); 37 final static ImageIcon shortIcon = new ImageIcon ("short.gif"); 38 39 boolean comboboxMode = false; 40 43 public ExplorerCellRenderer(boolean mode) 44 { 45 super(); 46 this.comboboxMode = mode; 47 } 48 49 public ExplorerCellRenderer() 50 { 51 super(); 52 } 53 54 public Component getListCellRendererComponent( 55 JList list, 56 Object value, int index, boolean iss, boolean chf) { 61 65 super.getListCellRendererComponent(list, value, index, iss, chf); 66 67 69 if (value instanceof ResourceDescriptor) 70 { 71 ResourceDescriptor rd = (ResourceDescriptor)value; 72 73 if (rd.getUriString().equals("/")) 74 { 75 setIcon(RepositoryTreeCellRenderer.getResourceIcon( null ) ); 76 setText( "Repository root (/)" ); 77 } 78 else 79 { 80 81 ImageIcon iconImage = RepositoryTreeCellRenderer.getResourceIcon( rd ); 82 83 if (comboboxMode && index > 0) 84 { 85 Image image = new java.awt.image.BufferedImage (iconImage.getIconWidth() + 8*index, iconImage.getIconHeight(), java.awt.image.BufferedImage.TYPE_INT_RGB ); 86 87 Graphics g = image.getGraphics(); 88 89 g.setColor( (iss) ? list.getSelectionBackground() : list.getBackground() ); 90 g.fillRect(0,0,image.getWidth(null), image.getHeight(null)); 91 g.drawImage(iconImage.getImage(), 8*index,0,null); 92 93 94 setIcon(new ImageIcon (image)); 95 } 96 else 97 { 98 setIcon(iconImage); 99 } 100 setText( rd.getName() ); 101 } 102 } 103 return this; 104 } 105 } 106 | Popular Tags |