/** * Constructs a <code>VariabilityRecordTable</code> with a list of variability records. * * @param record_list the list of variability records. * @param desktop the parent desktop. */ public VariabilityRecordTable(Vector record_list, net.aerith.misao.gui.Desktop desktop) { this.record_list = record_list; this.desktop = desktop; index = new ArrayIndex(record_list.size()); model = new DefaultTableModel(column_names, 0); Object[] objects = new Object[column_names.length]; objects[0] = new Boolean(true); for (int i = 1; i < column_names.length; i++) objects[i] = ""; for (int i = 0; i < record_list.size(); i++) model.addRow(objects); setModel(model); column_model = (DefaultTableColumnModel) getColumnModel(); for (int i = 1; i < column_names.length; i++) column_model .getColumn(i) .setCellRenderer( new StringRenderer(column_names[i], LabelTableCellRenderer.MODE_MULTIPLE_SELECTION)); initializeCheckColumn(); setTableHeader(new TableHeader(column_model)); setAutoResizeMode(JTable.AUTO_RESIZE_OFF); initializeColumnWidth(); pane = this; initPopupMenu(); }
/** * Gets the list of selected records. * * @return the list of selected records. */ public Variability[] getSelectedRecords() { ArrayList list = new ArrayList(); int check_column = getCheckColumn(); for (int i = 0; i < model.getRowCount(); i++) { if (((Boolean) getValueAt(i, check_column)).booleanValue()) { Variability record = (Variability) record_list.elementAt(index.get(i)); list.add(record); } } Variability[] records = new Variability[list.size()]; return (Variability[]) list.toArray(records); }