/** * This method initializes tb_result * * @return javax.swing.JTable */ private JTable getTb_result() { if (tb_result == null) { TableColumn tc_press = new TableColumn(); tc_press.setModelIndex(2); tc_press.setHeaderValue("출판사"); TableColumn tc_author = new TableColumn(); tc_author.setModelIndex(1); tc_author.setHeaderValue("저자"); TableColumn tc_title = new TableColumn(); tc_title.setHeaderValue("제목"); tb_result = new JTable(); tb_result.setAutoCreateColumnsFromModel(false); tb_result.setFont(new Font("Dialog", Font.PLAIN, 14)); tb_result.setRowHeight(30); tb_result.addColumn(tc_title); tb_result.addColumn(tc_author); tb_result.addColumn(tc_press); tb_result.addMouseListener( new java.awt.event.MouseAdapter() { public void mouseReleased(java.awt.event.MouseEvent e) { if (tableMouseClickedCount == 0) { tableMouseClickedCount++; return; } Const.goToDetailPage(detailBrowser, getTb_result().getSelectedRow()); tableMouseClickedCount = 0; } }); } return tb_result; }
protected JTable createDefaultsTable() { JTable table = new JTable(new UIDefaultsTableModel()); table.setRowHeight(rowHeight); table.setShowHorizontalLines(false); table.setShowVerticalLines(false); table.setIntercellSpacing(new Dimension(0, 0)); table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); initFilters(table); DefaultTableColumnModel columnModel = new DefaultTableColumnModel(); Color rowColors[] = new Color[2]; rowColors[0] = UIManager.getColor("Table.background"); rowColors[1] = new Color( (int) (rowColors[0].getRed() * .90), (int) (rowColors[0].getGreen() * .95), (int) (rowColors[0].getBlue() * .95)); int width = 0; TableColumn column = new TableColumn(); column.setCellRenderer(new KeyRenderer(rowColors)); column.setModelIndex(UIDefaultsTableModel.KEY_COLUMN); column.setHeaderValue("Key"); column.setPreferredWidth(250); columnModel.addColumn(column); width += column.getPreferredWidth(); column = new TableColumn(); column.setCellRenderer(new RowRenderer(rowColors)); column.setModelIndex(UIDefaultsTableModel.TYPE_COLUMN); column.setHeaderValue("Type"); column.setPreferredWidth(250); columnModel.addColumn(column); width += column.getPreferredWidth(); column = new TableColumn(); column.setCellRenderer(new ValueRenderer(rowColors)); column.setModelIndex(UIDefaultsTableModel.VALUE_COLUMN); column.setHeaderValue("Value"); column.setPreferredWidth(300); columnModel.addColumn(column); width += column.getPreferredWidth(); table.setColumnModel(columnModel); table.setPreferredScrollableViewportSize(new Dimension(width, 12 * rowHeight)); return table; }
/** Create a new instance of FileTypeColumnModel. */ public FileTypeColumnModel() { super(); TableColumn category = new TableColumn(); category.setHeaderValue("Category"); category.setModelIndex(0); category.setCellRenderer(new FileCategoryTableCellRenderer()); category.setPreferredWidth(10); category.setResizable(false); addColumn(category); TableColumn extensions = new TableColumn(); extensions.setHeaderValue("File extensions"); extensions.setModelIndex(1); extensions.setPreferredWidth(200); addColumn(extensions); }
/** * Set the state from the last saved in the PreferencesExt. * * @param store ok if null or empty */ public void restoreState(PreferencesExt store) { if (store == null) return; int ncols = table.getColumnCount(); // stored column order int[] modelIndex = (int[]) store.getBean("ColumnOrder", null); if ((modelIndex != null) && (modelIndex.length == ncols)) { // what about invisible ?? // make invisible any not stored boolean[] visible = new boolean[ncols]; for (int i = 0; i < modelIndex.length; i++) if (modelIndex[i] < ncols) visible[modelIndex[i]] = true; // modify popup menu for (int i = 0; i < ncols; i++) if (!visible[i]) { // System.out.println( colName[i]+" hide "+i); acts[i].hideColumn(); acts[i].putValue(BAMutil.STATE, new Boolean(false)); } // now set the header order TableColumnModel tcm = table.getColumnModel(); int n = Math.min(modelIndex.length, table.getColumnCount()); for (int i = 0; i < n; i++) { TableColumn tc = tcm.getColumn(i); tc.setModelIndex(modelIndex[i]); String name = model.getColumnName(modelIndex[i]); tc.setHeaderValue(name); tc.setIdentifier(name); if (useThreads && (modelIndex[i] == threadCol)) { threadHeaderRenderer = new ThreadHeaderRenderer(threadCol); tc.setHeaderRenderer(threadHeaderRenderer); } else tc.setHeaderRenderer(new SortedHeaderRenderer(name, modelIndex[i])); } } // set the column widths Object colWidths = store.getBean("ColumnWidths", null); if (colWidths == null) return; int[] size = (int[]) colWidths; if (size != null) setColumnWidths(size); if (debug) { System.out.println(" read widths = "); for (int i = 0; i < size.length; i++) System.out.print(" " + size[i]); System.out.println(); } boolean isThreadsOn = store.getBoolean("isThreadsOn", false); if (useThreads) { model.setThreadsOn(isThreadsOn); threadHeaderRenderer.setOn(isThreadsOn); } int colNo = store.getInt("SortOnCol", 0); boolean reverse = store.getBoolean("SortReverse", false); model.setSortCol(colNo); model.setReverse(reverse); setSortCol(colNo, reverse); model.sort(); table.fireDataChanged(); }