1 17 package org.columba.calendar.ui.list; 18 19 import java.awt.Dimension ; 20 21 import javax.swing.JCheckBox ; 22 import javax.swing.JTable ; 23 import javax.swing.table.DefaultTableColumnModel ; 24 import javax.swing.table.TableCellRenderer ; 25 import javax.swing.table.TableColumn ; 26 import javax.swing.table.TableModel ; 27 28 33 34 public class CheckableList extends JTable { 35 36 38 public CheckableList() { 39 super(); 40 41 setTableHeader(null); 43 44 setShowGrid(false); 46 47 CheckableItemListTableModel model = new CheckableItemListTableModel(); 48 49 super.setModel(model); 50 51 setRowHeight((int) new JCheckBox ("test").getPreferredSize().getHeight() + 3); 52 53 } 54 55 public void setOptionsCellRenderer(TableCellRenderer renderer) { 56 57 setDefaultRenderer(String .class, renderer); 58 59 } 60 61 private void initColumns() { 62 DefaultTableColumnModel model = new DefaultTableColumnModel (); 63 64 TableColumn tc = new TableColumn (0); 65 tc.setIdentifier("Boolean"); 66 tc.setMaxWidth(21); 67 tc.setCellEditor(new CheckableListEditor()); 68 tc.setCellRenderer(new DefaultBooleanRenderer()); 69 70 model.addColumn(tc); 71 72 tc = new TableColumn (1); 73 tc.setIdentifier("String"); 74 tc.setCellRenderer(new DefaultStringRenderer()); 75 model.addColumn(tc); 76 77 setColumnModel(model); 78 79 81 83 } 84 85 89 public void setModel(TableModel model) { 90 91 super.setModel(model); 92 93 initColumns(); 94 95 setIntercellSpacing(new Dimension (0, 0)); 96 } 97 98 104 } | Popular Tags |