title: How to render a checkbox?
body: <p>I'm using Glazed lists, in a <code>jTable</code> where I have a column which is boolean.
  By default the <code>jTable</code> renders a  checkbox where the column is type <code>Boolean.Class</code>.
  Using Glazed lists i cannot get the checkbox which is needed. I rendered checkboxs extending the <code>DefaultTableCellRenderer</code> but i'm not satisfied with it because the checkboxs are not "clickable".</p>
  
  <p>In the GL faq <a href="http://www.glazedlists.com/documentation/faq" rel="nofollow">http://www.glazedlists.com/documentation/faq</a> i found:</p>
  
  <p>*Q: How do I specify that my boolean table cells be rendered with a checkbox? 
  For some reason, Glazed Lists has no getColumnClass() method.</p>
  
  <p>A: If you need to specify the column class, you need to implement the AdvancedTableFormat interface instead of the regular TableFormat class. 
  If you are using the GlazedLists.tableFormat() factory method, you must specify the base Object's class for a proper implementation of the AdvancedTableFormat.getColumnClass() method.* </p>
  
  <p>Does some of you have experience with this I did not find any links with an example. The essential link in the faq is broken.</p>
  
  <p>I tried with this:</p>
  
  <pre><code> public class CheckBoxTableModel implements  AdvancedTableFormat {
  
       public Class getColumnClass(int column) {
           if(column==4)
          return Boolean.class;
           else
               return Object.class;
      }
  }
  </code></pre>
  
  <p>Please help!</p>
  
  <p><strong>EDIT:
  I tried with this, the form with the jtable does not show</strong></p>
  
  <pre><code>   private class TicketTableFormat implements AdvancedTableFormat&lt;Ticket&gt;  {
  
          private final String[] cols = new String[]{"Id", "From", "Subject", "Date", "Incomplete"};
  
          public int getColumnCount() {
              return cols.length;
          }
  
          public String getColumnName(int colId) {
              return cols[colId];
          }
  
          public Class getColumnClass(int col) {
              if (col == 4) {
                  return Boolean.class;
              } else {
                  return Object.class;
              }
          }
  
  
          public Object getColumnValue(Ticket ticket, int colId) {
  
              switch (colId) {
                  case 0:
                      return ticket.getId();
                  case 1:
                      return ticket.getFrom();
                  case 2:
                      return ticket.getSubject();
                  case 3:
                      return ticket.getDate();
                  case 4:
                      return ticket.getIncomplete();
              }
              return null;
          }
  
          public boolean isEditable(Ticket e, int col) {
              if (col &lt; 4) {
                  return false;
              } else {
                  return true;
              }
          }
  
          public Ticket setColumnValue(Ticket e, Object o, int i) {
              e.setB((Boolean) editedValue);
              return e;           
             }
  
          public Comparator getColumnComparator(int i) {
              throw new UnsupportedOperationException("Not supported yet.");
          }
  
      }
  </code></pre>
  
  <p>i call it with this:</p>
  
  <pre><code> TicketTableFormat tbFormat = new TicketTableFormat();
   TicketsModel = new EventTableModel(textFilteredTickets, tbFormat);
   ticketTable.setModel(TicketsModel);
  </code></pre>