BooleanRenderer.java
01 /*
02  *  Copyright (c) 1995-2012, The University of Sheffield. See the file
03  *  COPYRIGHT.txt in the software or at http://gate.ac.uk/gate/COPYRIGHT.txt
04  *
05  *  This file is part of GATE (see http://gate.ac.uk/), and is free
06  *  software, licenced under the GNU Library General Public License,
07  *  Version 2, June 1991 (in the distribution as file licence.html,
08  *  and also available at http://gate.ac.uk/gate/licence.html).
09  *
10  *  Valentin Tablan 23/01/2001
11  *
12  *  $Id: BooleanRenderer.java 17615 2014-03-10 11:10:08Z markagreenwood $
13  *
14  */
15 package gate.gui;
16 
17 import java.awt.Component;
18 
19 import javax.swing.JLabel;
20 import javax.swing.JTable;
21 import javax.swing.table.DefaultTableCellRenderer;
22 
23 /**
24  * A {@link javax.swing.table.TableCellRenderer} used for Booleans
25  */
26 @SuppressWarnings("serial")
27 public class BooleanRenderer extends DefaultTableCellRenderer {
28   @Override
29   public Component getTableCellRendererComponent(JTable table, Object value,
30           boolean isSelected, boolean hasFocus, int row, int column) {
31     JLabel component = (JLabel)super.getTableCellRendererComponent(table, "", isSelected, hasFocus, row,
32             column);
33     if(value instanceof Boolean && value != null
34             && ((Boolean)value).booleanValue()) {
35       component.setIcon(MainFrame.getIcon("tick"));
36       // setIcon(MainFrame.getIcon((isSelected) ? "tick_white" :
37       // "tick"));
38     else {
39       component.setIcon(null);
40     }
41 
42     return component;
43   }// public Component getTableCellRendererComponent
44 }// class BooleanRenderer extends DefaultTableCellRenderer