/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package app.starter.gui.swing; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Component; import java.awt.Dimension; import java.awt.Insets; import java.lang.Object; import javax.swing.BorderFactory; import javax.swing.JCheckBox; import javax.swing.JPanel; import javax.swing.JTable; import javax.swing.table.DefaultTableCellRenderer; /** * * @author wara */ public class TableRendererForNoParameter extends DefaultTableCellRenderer{ public JPanel panel = new JPanel(); public JCheckBox checkBox = new JCheckBox(); public TableRendererForNoParameter(){ panel.setLayout(new BorderLayout(3, 0)); panel.setOpaque(false); checkBox.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 4)); checkBox.setMargin(new Insets(0, 0, 0, 0)); panel.add(checkBox, BorderLayout.EAST); } @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { if(!hasFocus) setBackground((row % 2 == 0) ? Color.white : new Color(231,239,246)); hasFocus = false; Object obj = ((ObjectParameterForJTable)value).getValueForTable(); if( obj instanceof Boolean){ boolean val = (Boolean)obj; if(val){ checkBox.setSelected(true); } else { checkBox.setSelected(false); } } Component comp = super.getTableCellRendererComponent(table, "", isSelected, hasFocus, row, column); panel.add(comp,BorderLayout.CENTER); return panel; } }