Java Code Examples for javax.swing.table.TableColumn#setWidth()
The following examples show how to use
javax.swing.table.TableColumn#setWidth() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: GridDataTable.java From osp with GNU General Public License v3.0 | 6 votes |
/** * Constructor GridDataTable * @param griddata * @param component */ public GridDataTable(GridData griddata, int component) { super(); refreshTimer.setRepeats(false); refreshTimer.setCoalesce(true); tableModel = new GridTableModel(griddata, component); setModel(tableModel); setAutoResizeMode(JTable.AUTO_RESIZE_OFF); String name = getColumnName(0); TableColumn column = getColumn(name); int width = 20; column.setMinWidth(width); column.setResizable(true); // column.setMaxWidth(width); column.setWidth(width); width = 60; for(int i = 1, n = getColumnCount(); i<n; i++) { name = getColumnName(i); column = getColumn(name); column.setMinWidth(width); column.setWidth(width); column.setResizable(true); } sizeColumnsToFit(0); }
Example 2
Source File: QueryDailyIncome.java From SimpleERP with Apache License 2.0 | 6 votes |
public static void FitTableColumns(JTable myTable){ JTableHeader header = myTable.getTableHeader(); int rowCount = myTable.getRowCount(); Enumeration columns = myTable.getColumnModel().getColumns(); while(columns.hasMoreElements()){ TableColumn column = (TableColumn)columns.nextElement(); int col = header.getColumnModel().getColumnIndex(column.getIdentifier()); int width = (int)myTable.getTableHeader().getDefaultRenderer() .getTableCellRendererComponent(myTable, column.getIdentifier() , false, false, -1, col).getPreferredSize().getWidth(); for(int row = 0; row<rowCount; row++){ int preferedWidth = (int)myTable.getCellRenderer(row, col).getTableCellRendererComponent(myTable, myTable.getValueAt(row, col), false, false, row, col).getPreferredSize().getWidth(); width = Math.max(width, preferedWidth); } header.setResizingColumn(column); // ���к���Ҫ column.setWidth(width+myTable.getIntercellSpacing().width); } }
Example 3
Source File: TableColumnAdjuster.java From magarena with GNU General Public License v3.0 | 6 votes |
private void updateTableColumn(int column, int width) { final TableColumn tableColumn = table.getColumnModel().getColumn(column); if (! tableColumn.getResizable()) return; width += spacing; // Don't shrink the column width if (isOnlyAdjustLarger) { width = Math.max(width, tableColumn.getPreferredWidth()); } columnSizes.put(tableColumn, tableColumn.getWidth()); table.getTableHeader().setResizingColumn(tableColumn); tableColumn.setWidth(width); }
Example 4
Source File: CsvTableEditorSwing.java From intellij-csv-validator with Apache License 2.0 | 6 votes |
@Override protected void updateEditorLayout() { int currentColumnCount = this.getTableModel().getColumnCount(); int[] columnWidths = getFileEditorState().getColumnWidths(); int prevColumnCount = columnWidths.length; if (prevColumnCount != currentColumnCount) { columnWidths = ArrayUtil.realloc(columnWidths, currentColumnCount); if (prevColumnCount < currentColumnCount) { Arrays.fill(columnWidths, prevColumnCount, currentColumnCount, CsvEditorSettings.getInstance().getTableDefaultColumnWidth()); } getFileEditorState().setColumnWidths(columnWidths); } float zoomFactor = getZoomFactor(); for (int i = 0; i < currentColumnCount; ++i) { TableColumn column = this.tblEditor.getColumnModel().getColumn(i); column.setPreferredWidth(Math.round(columnWidths[i] * zoomFactor)); column.setWidth(Math.round(columnWidths[i] * zoomFactor)); } this.updateRowHeights(null); panelInfo.setVisible(getFileEditorState().showInfoPanel()); }
Example 5
Source File: OrderPanel.java From consulo with Apache License 2.0 | 6 votes |
public void setCheckboxColumnName(final String name) { final int width; if (StringUtil.isEmpty(name)) { CHECKBOX_COLUMN_NAME = ""; width = new JCheckBox().getPreferredSize().width; } else { CHECKBOX_COLUMN_NAME = name; final FontMetrics fontMetrics = myEntryTable.getFontMetrics(myEntryTable.getFont()); width = fontMetrics.stringWidth(" " + name + " ") + 4; } final TableColumn checkboxColumn = myEntryTable.getColumnModel().getColumn(getCheckboxColumn()); checkboxColumn.setWidth(width); checkboxColumn.setPreferredWidth(width); checkboxColumn.setMaxWidth(width); checkboxColumn.setMinWidth(width); }
Example 6
Source File: ShowUsagesAction.java From dagger-intellij-plugin with Apache License 2.0 | 6 votes |
private static int calcMaxWidth(JTable table) { int colsNum = table.getColumnModel().getColumnCount(); int totalWidth = 0; for (int col = 0; col < colsNum - 1; col++) { TableColumn column = table.getColumnModel().getColumn(col); int preferred = column.getPreferredWidth(); int width = Math.max(preferred, columnMaxWidth(table, col)); totalWidth += width; column.setMinWidth(width); column.setMaxWidth(width); column.setWidth(width); column.setPreferredWidth(width); } totalWidth += columnMaxWidth(table, colsNum - 1); return totalWidth; }
Example 7
Source File: GTableWidget.java From ghidra with Apache License 2.0 | 6 votes |
/** * Sets the column preferred widths. If you give less widths then there are columns, then * the widths will be applied in order, with the remaining columns going untouched. * <p> * Note: this method needs to be called after building your columns. So, call this after * making any calls to {@link #addColumn(AbstractDynamicTableColumn)}. * <p> * <b>WARNING!</b> If you set the widths to a size that is smaller than the total display, * then the table model will apply the extra space equally across your columns, resulting * in sizes that you did not set. So, the best way to use this method is to set the * actual preferred size for your small columns and then set a very large size (400 or so) * for your columns that can be any size. * <p> * * @param widths the widths to apply */ public void setColumnPreferredWidths(int... widths) { int columnCount = table.getColumnCount(); int n = Math.min(widths.length, columnCount); TableColumnModel model = table.getColumnModel(); for (int i = 0; i < n; i++) { TableColumn column = model.getColumn(i); int width = widths[i]; if (width == 75) { // Horrible Code: we have special knowledge that a value of 75 is the default // column size, which we use in TableColumnModelState to signal that we can // override the size. So, if the user sets that value, then change it to // override our algorithm. width = 76; } column.setWidth(width); column.setPreferredWidth(widths[i]); } }
Example 8
Source File: CustomizerSources.java From netbeans with Apache License 2.0 | 5 votes |
public void componentResized(ComponentEvent evt){ double pw = table.getParent().getParent().getSize().getWidth(); table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); TableColumn column = table.getColumnModel().getColumn(0); column.setWidth( ((int)pw/2) - 1 ); column.setPreferredWidth( ((int)pw/2) - 1 ); column = table.getColumnModel().getColumn(1); column.setWidth( ((int)pw/2) - 1 ); column.setPreferredWidth( ((int)pw/2) - 1 ); }
Example 9
Source File: Utils.java From Method_Trace_Tool with Apache License 2.0 | 5 votes |
public static void fitTableColumns(JTable myTable) { JTableHeader header = myTable.getTableHeader(); int rowCount = myTable.getRowCount(); Enumeration columns = myTable.getColumnModel().getColumns(); while (columns.hasMoreElements()) { TableColumn column = (TableColumn) columns.nextElement(); int col = header.getColumnModel().getColumnIndex( column.getIdentifier()); int width = (int) myTable .getTableHeader() .getDefaultRenderer() .getTableCellRendererComponent(myTable, column.getIdentifier(), false, false, -1, col) .getPreferredSize().getWidth(); for (int row = 0; row < rowCount; row++) { int preferedWidth = (int) myTable .getCellRenderer(row, col) .getTableCellRendererComponent(myTable, myTable.getValueAt(row, col), false, false, row, col).getPreferredSize().getWidth(); width = Math.max(width, preferedWidth); } header.setResizingColumn(column); // 此行很重要 column.setWidth(width + myTable.getIntercellSpacing().width + 4);// 使表格看起来不是那么拥挤,起到间隔作用 } }
Example 10
Source File: TableColumnAnimator.java From consulo with Apache License 2.0 | 5 votes |
@Override public void actionPerformed(ActionEvent e) { if (myColumns.isEmpty()) { stop(); if (myDone != null) { SwingUtilities.invokeLater(myDone); } return; } final TableColumn c = myColumns.get(0).first; if (!added) { myTable.addColumn(c); c.setMaxWidth(0); c.setPreferredWidth(0); c.setWidth(0); added = true; } final int prefWidth = myColumns.get(0).second.intValue(); int width = c.getWidth(); width = Math.min(width + myStep, prefWidth); c.setMaxWidth(width); c.setPreferredWidth(width); c.setWidth(width); if (width == prefWidth) { added = false; myColumns.remove(0); //c.setMaxWidth(oldMaxWidth); } }
Example 11
Source File: Table.java From netbeans with Apache License 2.0 | 5 votes |
private void adjustColumnWidths( int topColumn ) { TableColumnModel colModel = getColumnModel(); int colWidth = 0; int subColWidth = -1; for( int row=0; row<getRowCount(); row++ ) { Item item = ( Item ) getValueAt( row, topColumn ); Component ren = prepareRenderer( this.getCellRenderer( row, topColumn ), row, topColumn, item, true ); int prefWidth = ren.getPreferredSize().width; colWidth = Math.max( colWidth, prefWidth ); if( null != item && item.hasSubItems() && topColumn+1 < getColumnCount() && !getSwitcherModel().isTopItemColumn( topColumn+1 ) ) { Item[] subItems = item.getActivatableSubItems(); for( int i=0; i<subItems.length; i++ ) { ren = prepareRenderer( this.getCellRenderer( 0, topColumn+1 ), 0, topColumn+1, subItems[i], true ); prefWidth = ren.getPreferredSize().width; subColWidth = Math.max( subColWidth, prefWidth ); } } } colWidth = Math.min( colWidth, MAX_TOP_COLUMN_WIDTH ); TableColumn tc = colModel.getColumn( topColumn ); tc.setPreferredWidth( colWidth ); tc.setWidth( colWidth ); tc.setMaxWidth( colWidth ); if( subColWidth > 0 ) { subColWidth = Math.min( subColWidth, MAX_SUB_COLUMN_WIDTH ); tc = colModel.getColumn( topColumn+1 ); tc.setPreferredWidth( subColWidth ); tc.setWidth( subColWidth ); tc.setMaxWidth( subColWidth ); } }
Example 12
Source File: ExtendedJTable.java From rapidminer-studio with GNU Affero General Public License v3.0 | 5 votes |
public void unpack() { JTableHeader header = getTableHeader(); if (header != null) { for (int c = 0; c < getColumnCount(); c++) { TableColumn tableColumn = header.getColumnModel().getColumn(c); header.setResizingColumn(tableColumn); // this line is very important int width = DEFAULT_COLUMN_WIDTH; if (getWidth() / width > getColumnCount()) { width = getWidth() / getColumnCount(); } tableColumn.setWidth(width); } } }
Example 13
Source File: ProfilerColumnModel.java From netbeans with Apache License 2.0 | 5 votes |
TableColumn createTableColumn(int columnIndex) { return new TableColumn(columnIndex) { public void setWidth(int width) { if (getMaxWidth() == 0 && getWidth() == 0) { TableColumn c = getPreviousVisibleColumn(this); if (refWidth == -1) refWidth = c.getWidth(); c.setWidth(refWidth + width); } else { super.setWidth(width); } } }; }
Example 14
Source File: FormattedTable.java From azure-devops-intellij with MIT License | 5 votes |
/** * Format columns so that they are fit to the data they are holding. If a deafultLongColumn is specified that column * will take up any extra space in the table */ private void formatColumns() { final Enumeration<TableColumn> columnList = getColumnModel().getColumns(); while (columnList.hasMoreElements()) { final TableColumn column = columnList.nextElement(); // if column is the defaultLongColumn allow it to fill in the extra table space if (defaultLongColumn != null && defaultLongColumn.toLowerCase().equals(column.getHeaderValue().toString().toLowerCase())) { column.setPreferredWidth(Short.MAX_VALUE); } else { // set min column width to the column header final TableCellRenderer headerRenderer = column.getHeaderRenderer() != null ? column.getHeaderRenderer() : getTableHeader().getDefaultRenderer(); final Component headerComponent = headerRenderer.getTableCellRendererComponent(this, column.getHeaderValue(), false, false, -1, column.getModelIndex()); int maxWidth = headerComponent.getPreferredSize().width + JBUI.scale(20); // added some padding so not hugging the text // don't check the width of every row to save time if there are many items final int maxRowsToCheck = Math.min(MAX_ROWS_CHECKED, getRowCount()); for (int row = 0; row < maxRowsToCheck; row++) { final TableCellRenderer renderer = getCellRenderer(row, column.getModelIndex()); final Component comp = prepareRenderer(renderer, row, column.getModelIndex()); maxWidth = Math.max(comp.getPreferredSize().width, maxWidth); } column.setMinWidth(Math.min(maxWidth + JBUI.scale(10), DEFAULT_COLUMN_WIDTH)); column.setWidth(column.getMinWidth()); } } }
Example 15
Source File: SwingUtils.java From weblaf with GNU General Public License v3.0 | 5 votes |
/** * Packs table column at the specified index to its preferred width. * * @param table table to process * @param col column index * @param margin column side margin */ public static void packColumnWidth ( @NotNull final JTable table, final int col, final int margin ) { final DefaultTableColumnModel columnModel = ( DefaultTableColumnModel ) table.getColumnModel (); final TableColumn column = columnModel.getColumn ( col ); int width; // Header renderer TableCellRenderer renderer = column.getHeaderRenderer (); if ( renderer == null ) { renderer = table.getTableHeader ().getDefaultRenderer (); } // Header width Component rendererComponent = renderer.getTableCellRendererComponent ( table, column.getHeaderValue (), false, false, 0, 0 ); width = rendererComponent.getPreferredSize ().width; // Cells width for ( int r = 0; r < table.getRowCount (); r++ ) { renderer = table.getCellRenderer ( r, col ); rendererComponent = renderer.getTableCellRendererComponent ( table, table.getValueAt ( r, col ), false, false, r, col ); width = Math.max ( width, rendererComponent.getPreferredSize ().width ); } // Margin width += 2 * margin; // Final values column.setPreferredWidth ( width ); column.setWidth ( width ); }
Example 16
Source File: TableColumnAdjuster.java From magarena with GNU General Public License v3.0 | 5 votes |
private void restoreColumn(int column) { TableColumn tableColumn = table.getColumnModel().getColumn(column); Integer width = columnSizes.get(tableColumn); if (width != null) { table.getTableHeader().setResizingColumn(tableColumn); tableColumn.setWidth(width); } }
Example 17
Source File: DataToolPropsTable.java From osp with GNU General Public License v3.0 | 5 votes |
/** * Refresh the cell widths in the table. */ public void refreshCellWidths() { // set width of columns if(getColumnCount()!=dataTable.getColumnCount()) { return; } for(int i = 0; i<getColumnCount(); i++) { TableColumn propColumn = getColumnModel().getColumn(i); TableColumn dataColumn = dataTable.getColumnModel().getColumn(i); propColumn.setMaxWidth(dataColumn.getWidth()); propColumn.setMinWidth(dataColumn.getWidth()); propColumn.setWidth(dataColumn.getWidth()); } }
Example 18
Source File: DataToolStatsTable.java From osp with GNU General Public License v3.0 | 5 votes |
/** * Refresh the cell widths in the table. */ public void refreshCellWidths() { // set width of columns if(getColumnCount()!=dataTable.getColumnCount()) { return; } for(int i = 0; i<getColumnCount(); i++) { TableColumn propColumn = getColumnModel().getColumn(i); TableColumn dataColumn = dataTable.getColumnModel().getColumn(i); propColumn.setMaxWidth(dataColumn.getWidth()); propColumn.setMinWidth(dataColumn.getWidth()); propColumn.setWidth(dataColumn.getWidth()); } }
Example 19
Source File: ToolAdapterTabbedEditorDialog.java From snap-desktop with GNU General Public License v3.0 | 4 votes |
@Override protected JPanel createVariablesPanel() { JPanel variablesBorderPanel = new JPanel(); BoxLayout layout = new BoxLayout(variablesBorderPanel, BoxLayout.PAGE_AXIS); variablesBorderPanel.setLayout(layout); AbstractButton addVariableButton = ToolButtonFactory.createButton(UIUtils.loadImageIcon(Bundle.Icon_Add()), false); addVariableButton.setText(Bundle.CTL_Button_Add_Variable_Text()); addVariableButton.setMaximumSize(new Dimension(150, controlHeight)); addVariableButton.setAlignmentX(Component.LEFT_ALIGNMENT); AbstractButton addDependentVariableButton = ToolButtonFactory.createButton(UIUtils.loadImageIcon(Bundle.Icon_Add()), false); addDependentVariableButton.setText(Bundle.CTL_Button_Add_PDVariable_Text()); addDependentVariableButton.setMaximumSize(new Dimension(250, controlHeight)); addDependentVariableButton.setAlignmentX(Component.LEFT_ALIGNMENT); JPanel buttonsPannel = new JPanel(new SpringLayout()); buttonsPannel.add(addVariableButton); buttonsPannel.add(addDependentVariableButton); SpringUtilities.makeCompactGrid(buttonsPannel, 1, 2, 0, 0, 0, 0); buttonsPannel.setAlignmentX(Component.LEFT_ALIGNMENT); variablesBorderPanel.add(buttonsPannel); varTable.setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN); varTable.setRowHeight(controlHeight); int widths[] = {controlHeight, 3 * controlHeight, 10 * controlHeight}; for (int i = 0; i < widths.length; i++) { TableColumn column = varTable.getColumnModel().getColumn(i); column.setPreferredWidth(widths[i]); column.setWidth(widths[i]); } JScrollPane scrollPane = new JScrollPane(varTable); scrollPane.setAlignmentX(Component.LEFT_ALIGNMENT); variablesBorderPanel.add(scrollPane); variablesBorderPanel.setAlignmentX(Component.LEFT_ALIGNMENT); Dimension variablesPanelDimension = new Dimension((formWidth - 3 * DEFAULT_PADDING) / 2 - 2 * DEFAULT_PADDING, 130); variablesBorderPanel.setMinimumSize(variablesPanelDimension); variablesBorderPanel.setMaximumSize(variablesPanelDimension); variablesBorderPanel.setPreferredSize(variablesPanelDimension); addVariableButton.addActionListener(e -> { newOperatorDescriptor.getVariables().add(new SystemVariable("key", "")); varTable.revalidate(); }); addDependentVariableButton.addActionListener(e -> { newOperatorDescriptor.getVariables().add(new SystemDependentVariable("key", "")); varTable.revalidate(); }); return variablesBorderPanel; }
Example 20
Source File: TableColumnModelState.java From ghidra with Apache License 2.0 | 4 votes |
/** * Configure the columns in this model with their preferred size. */ private void setDefaultPreferredColumnSizes() { // // Unusual Code Alert! // The table model wants to resize the columns such that they all get an equal share // of any available width upon initialization. This defeats the preferred size of // a column if it is specified (which it is usually not). To override this badness, // we will set all preferred sizes AND then for all columns without a preferred size, // specify a large value, which causes Java's layout algorithm to have less remaining // width to divided amongst all the table columns. Essentially, we need to make the // total width of all columns larger than the table size. We do this by giving large // default width values. // // FYI, Java's badness happens inside of JTable.doLayout(). // // To easily specify a preferred size for a column, do so in your DynamicTableColumn's // getColumnPreferredWidth() method. If your model is not dynamic, then you have // to specify the preferred size manually after you construct your table by grabbing // its ColumnModel. // TableModel model = table.getUnwrappedTableModel(); if (!(model instanceof AbstractGTableModel<?>)) { return; } AbstractGTableModel<?> gModel = (AbstractGTableModel<?>) model; List<TableColumn> columnList = columnModel.getAllColumns(); for (TableColumn col : columnList) { int defaultPreferred = col.getPreferredWidth(); if (defaultPreferred > 0 && defaultPreferred != 75) { // honor any saved preferred size (ignoring the magic default value found // inside of TableColumn) col.setWidth(defaultPreferred); continue; } int preferred = gModel.getPreferredColumnWidth(col.getModelIndex()); if (preferred < 15) { preferred = LARGE_DEFAULT_COL_WIDTH; } int size = preferred; col.setWidth(size); col.setPreferredWidth(size); } }