/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package feuille.karaoke.renderer; import feuille.karaoke.xfxintegration.SuperString; import feuille.karaoke.xfxintegration.TransparencyString; import feuille.karaoke.xfxintegration.AlignOldString; import feuille.karaoke.xfxintegration.EncodingString; import feuille.karaoke.xfxintegration.FontString; import feuille.karaoke.xfxintegration.WrappingString; import feuille.karaoke.xfxintegration.AlignString; import feuille.karaoke.xfxintegration.ImageString; import feuille.karaoke.xfxintegration.DrawingString; import java.awt.Color; import java.awt.Component; import javax.swing.JLabel; import javax.swing.JTable; import javax.swing.border.LineBorder; import javax.swing.table.TableCellRenderer; /** * * @author The Wingate 2940 */ public class xfxintObjectTableRenderer extends JLabel implements TableCellRenderer { public xfxintObjectTableRenderer(){ setOpaque(true); } @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { if(value instanceof Color){ Color c = (Color)value; setBackground(c); setForeground(new Color(255-c.getRed(),255-c.getGreen(),255-c.getBlue())); setText(colorToBgr(c)); setBorder(new LineBorder(Color.white, 2)); }else if(value instanceof String){ String str = (String)value; setBackground(isSelected ? new Color(219,231,255) : Color.white); setForeground(Color.black); setText(str); setBorder(null); }else if(value instanceof FontString){ FontString fs = (FontString)value; setBackground(isSelected ? new Color(219,231,255) : Color.white); setForeground(Color.black); setText(fs.getSelectedFont()); setBorder(null); }else if(value instanceof EncodingString){ EncodingString es = (EncodingString)value; setBackground(isSelected ? new Color(219,231,255) : Color.white); setForeground(Color.black); setText(es.getSelectedEncoding()); setBorder(null); }else if(value instanceof WrappingString){ WrappingString ws = (WrappingString)value; setBackground(isSelected ? new Color(219,231,255) : Color.white); setForeground(Color.black); setText(ws.getSelectedWrapping()); setBorder(null); }else if(value instanceof AlignOldString){ AlignOldString aos = (AlignOldString)value; setBackground(isSelected ? new Color(219,231,255) : Color.white); setForeground(Color.black); setText(aos.getSelectedAlignOld()); setBorder(null); }else if(value instanceof AlignString){ AlignString as = (AlignString)value; setBackground(isSelected ? new Color(219,231,255) : Color.white); setForeground(Color.black); setText(as.getSelectedAlign()); setBorder(null); }else if(value instanceof DrawingString){ DrawingString ds = (DrawingString)value; setBackground(isSelected ? new Color(219,231,255) : Color.white); setForeground(Color.black); setText(ds.getDrawing()); setBorder(null); }else if(value instanceof TransparencyString){ TransparencyString ts = (TransparencyString)value; setBackground(isSelected ? new Color(219,231,255) : Color.white); setForeground(Color.black); setText(ts.getTransparency()); setBorder(null); }else if(value instanceof ImageString){ ImageString is = (ImageString)value; setBackground(isSelected ? new Color(219,231,255) : Color.white); setForeground(Color.black); setText(is.getImage()); setBorder(null); }else if(value instanceof SuperString){ SuperString ss = (SuperString)value; setBackground(isSelected ? new Color(219,231,255) : Color.white); setForeground(Color.black); setText(ss.getSuperString()); setBorder(null); } return this; } private String colorToBgr(Color c){ int r, g, b; r = c.getRed(); g = c.getGreen(); b = c.getBlue(); String blue, green, red; blue = Integer.toString(b, 16); if(blue.length()<2){blue="0"+blue;} green = Integer.toString(g, 16); if(green.length()<2){green="0"+green;} red = Integer.toString(r, 16); if(red.length()<2){red="0"+red;} String bgr = blue+green+red; return bgr.toUpperCase(); } }