1 package org.columba.mail.gui.config.filter; 17 18 import javax.swing.JTable ; 19 import javax.swing.ListSelectionModel ; 20 import javax.swing.table.DefaultTableCellRenderer ; 21 import javax.swing.table.TableColumn ; 22 23 import org.columba.core.filter.FilterList; 24 import org.columba.core.filter.IFilterList; 25 26 27 class FilterListTable extends JTable { 28 public FilterListTable(IFilterList filterList, ConfigFrame frame) { 29 super(new FilterListDataModel(filterList)); 30 setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); 31 setShowGrid(false); 32 setIntercellSpacing(new java.awt.Dimension (0, 0)); 33 34 TableColumn tc = getColumnModel().getColumn(1); 35 tc.setMaxWidth(80); 36 tc.setMinWidth(80); 37 38 DefaultTableCellRenderer renderer = (DefaultTableCellRenderer ) tableHeader.getDefaultRenderer(); 39 renderer.setHorizontalAlignment(DefaultTableCellRenderer.LEFT); 40 } 41 42 public void update() { 43 ((FilterListDataModel) getModel()).fireTableDataChanged(); 44 } 45 46 50 public void update(int row) { 51 ((FilterListDataModel) getModel()).fireTableRowsUpdated(row, row); 52 } 53 54 60 public void setRowSelection(int[] selectedRows) { 61 ListSelectionModel model = getSelectionModel(); 62 model.setValueIsAdjusting(true); 63 model.clearSelection(); 64 65 for (int i = 0; i < selectedRows.length; i++) { 66 model.addSelectionInterval(selectedRows[i], selectedRows[i]); 67 } 68 69 model.setValueIsAdjusting(false); 70 } 71 } 72 | Popular Tags |