/* * BasicCellRenderer.java * (FScape) * * Copyright (c) 2001-2016 Hanns Holger Rutz. All rights reserved. * * This software is published under the GNU General Public License v3+ * * * For further information, please contact Hanns Holger Rutz at * contact@sciss.de */ package de.sciss.fscape.gui; import javax.swing.*; import javax.swing.border.EmptyBorder; import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.TableCellRenderer; import java.awt.*; /** * Model for JTable cell renderers such * as in the batch processor. */ public class BasicCellRenderer // extends JLabel implements TableCellRenderer, ListCellRenderer { // static final Color evenColor = new Color( 0xFF, 0xFF, 0xFF ); // static final Color oddColor = new Color( 0xF5, 0xF5, 0xF5 ); // static final Color selColor = new Color( 0xC7, 0xD0, 0xDB ); // static final EmptyBorder border = new EmptyBorder( 1, 4, 1, 4 ); Font italicFont; Font boldFont; Font monoFont; protected final DefaultListCellRenderer lr; protected final DefaultTableCellRenderer tr; public BasicCellRenderer() { lr = new DefaultListCellRenderer(); tr = new DefaultTableCellRenderer(); // setOpaque( true ); // MUST do this for background to show up. // setBorder( border ); Font fnt = lr.getFont(); int fntSize = fnt != null ? fnt.getSize() : 13; italicFont = new Font( "Dialog", Font.ITALIC, fntSize ); boldFont = new Font( "Dialog", Font.BOLD, fntSize ); monoFont = new Font( "Monospaced", Font.PLAIN, fntSize ); } public Component getTableCellRendererComponent( JTable table, Object obj, boolean isSelected, boolean hasFocus, int row, int column ) { final Component res = tr.getTableCellRendererComponent ( table, obj, isSelected, hasFocus, row, column ); // setFont( null ); // setBackground( isSelected ? selColor : ((row % 2) == 0 ? evenColor : oddColor )); // setHorizontalAlignment( LEFT ); // setText( obj.toString() ); // return this; return res; } public Component getListCellRendererComponent( JList list, Object obj, int index, boolean isSelected, boolean cellHasFocus ) { final Component res = lr.getListCellRendererComponent ( list, obj, index, isSelected, cellHasFocus ); // setFont( null ); // setBackground( isSelected ? selColor : ((index % 2) == 0 ? evenColor : oddColor )); // setHorizontalAlignment( LEFT ); // setText( obj.toString() ); // return this; return res; } } // BasicCellRenderer