Example usage for javax.swing.table TableColumn setPreferredWidth

List of usage examples for javax.swing.table TableColumn setPreferredWidth

Introduction

In this page you can find the example usage for javax.swing.table TableColumn setPreferredWidth.

Prototype

@BeanProperty(description = "The preferred width of the column.")
public void setPreferredWidth(int preferredWidth) 

Source Link

Document

Sets this column's preferred width to preferredWidth.

Usage

From source file:logdruid.ui.mainpanel.EventRecordingSelectorPanel.java

private void initColumnSizes(JTable theTable) {
    TableColumn column = null;
    Component comp = null;// ww  w  . j  a  va  2s .  co m
    int headerWidth = 0;
    int cellWidth = 0;
    TableCellRenderer headerRenderer = theTable.getTableHeader().getDefaultRenderer();

    for (int i = 0; i < 4; i++) {
        column = theTable.getColumnModel().getColumn(i);
        comp = headerRenderer.getTableCellRendererComponent(null, column.getHeaderValue(), false, false, 0, 0);
        headerWidth = comp.getPreferredSize().width;
        cellWidth = comp.getPreferredSize().width;
        column.setPreferredWidth(Math.max(headerWidth, cellWidth));
    }
}

From source file:logdruid.ui.mainpanel.MetadataRecordingSelectorPanel.java

private void initColumnSizes(JTable theTable) {
    MyTableModel model = (MyTableModel) theTable.getModel();
    TableColumn column = null;
    Component comp = null;/*from  w ww.  j  a  v  a 2  s .com*/
    int headerWidth = 0;
    int cellWidth = 0;
    // Object[] longValues = model.longValues;
    TableCellRenderer headerRenderer = theTable.getTableHeader().getDefaultRenderer();

    for (int i = 0; i < 4; i++) {
        column = theTable.getColumnModel().getColumn(i);
        comp = headerRenderer.getTableCellRendererComponent(null, column.getHeaderValue(), false, false, 0, 0);
        headerWidth = comp.getPreferredSize().width;
        cellWidth = comp.getPreferredSize().width;
        column.setPreferredWidth(Math.max(headerWidth, cellWidth));
    }
}

From source file:logdruid.ui.RecordingList.java

private void initColumnSizes(JTable theTable) {
    MyTableModel2 model = (MyTableModel2) theTable.getModel();
    TableColumn column = null;
    Component comp = null;//from ww w.  j av a  2  s  . c  o  m
    int headerWidth = 0;
    int cellWidth = 0;
    // Object[] longValues = model.longValues;
    TableCellRenderer headerRenderer = theTable.getTableHeader().getDefaultRenderer();

    for (int i = 0; i < 4; i++) {
        column = theTable.getColumnModel().getColumn(i);

        comp = headerRenderer.getTableCellRendererComponent(null, column.getHeaderValue(), false, false, 0, 0);
        headerWidth = comp.getPreferredSize().width;
        cellWidth = comp.getPreferredSize().width;
        column.setPreferredWidth(Math.max(headerWidth, cellWidth));
    }
}

From source file:logdruid.ui.table.EventRecordingEditorTable.java

private void initColumnSizes(JTable theTable) {
    MyTableModel model = (MyTableModel) theTable.getModel();
    TableColumn column = null;
    Component comp = null;//w ww.j a v a  2 s . c  o m
    int headerWidth = 0;
    int cellWidth = 0;
    TableCellRenderer headerRenderer = theTable.getTableHeader().getDefaultRenderer();

    for (int i = 0; i < 6; i++) {
        column = theTable.getColumnModel().getColumn(i);

        comp = headerRenderer.getTableCellRendererComponent(null, column.getHeaderValue(), false, false, 0, 0);
        headerWidth = comp.getPreferredSize().width;

        cellWidth = comp.getPreferredSize().width;

        if (DEBUG) {
            logger.info("Initializing width of column " + i + ". " + "headerWidth = " + headerWidth
                    + "; cellWidth = " + cellWidth);
        }

        column.setPreferredWidth(Math.max(headerWidth, cellWidth));
    }
}

From source file:logdruid.ui.table.StatRecordingEditorTable.java

private void initColumnSizes(JTable theTable) {
    MyTableModel model = (MyTableModel) theTable.getModel();
    TableColumn column = null;
    Component comp = null;//from  ww  w .  ja va 2s .  c  o  m
    int headerWidth = 0;
    int cellWidth = 0;
    // Object[] longValues = model.longValues;
    TableCellRenderer headerRenderer = theTable.getTableHeader().getDefaultRenderer();

    for (int i = 0; i < 6; i++) {
        column = theTable.getColumnModel().getColumn(i);

        comp = headerRenderer.getTableCellRendererComponent(null, column.getHeaderValue(), false, false, 0, 0);
        headerWidth = comp.getPreferredSize().width;
        cellWidth = comp.getPreferredSize().width;

        if (DEBUG) {
            logger.info("Initializing width of column " + i + ". " + "headerWidth = " + headerWidth
                    + "; cellWidth = " + cellWidth);
        }

        column.setPreferredWidth(Math.max(headerWidth, cellWidth));
    }
}

From source file:components.TableRenderDemo.java

private void initColumnSizes(JTable table) {
    MyTableModel model = (MyTableModel) table.getModel();
    TableColumn column = null;
    Component comp = null;//from  ww  w. ja  v a  2  s  . com
    int headerWidth = 0;
    int cellWidth = 0;
    Object[] longValues = model.longValues;
    TableCellRenderer headerRenderer = table.getTableHeader().getDefaultRenderer();

    for (int i = 0; i < 5; i++) {
        column = table.getColumnModel().getColumn(i);

        comp = headerRenderer.getTableCellRendererComponent(null, column.getHeaderValue(), false, false, 0, 0);
        headerWidth = comp.getPreferredSize().width;

        comp = table.getDefaultRenderer(model.getColumnClass(i)).getTableCellRendererComponent(table,
                longValues[i], false, false, 0, i);
        cellWidth = comp.getPreferredSize().width;

        if (DEBUG) {
            System.out.println("Initializing width of column " + i + ". " + "headerWidth = " + headerWidth
                    + "; cellWidth = " + cellWidth);
        }

        column.setPreferredWidth(Math.max(headerWidth, cellWidth));
    }
}

From source file:TableRenderDemo.java

private void initColumnSizes(JTable table) {
    MyTableModel model = (MyTableModel) table.getModel();
    TableColumn column = null;
    Component comp = null;/*  w ww.  j  a  va  2  s . co  m*/
    int headerWidth = 0;
    int cellWidth = 0;
    Object[] longValues = model.longValues;
    TableCellRenderer headerRenderer = table.getTableHeader().getDefaultRenderer();

    for (int i = 0; i < 5; i++) {
        column = table.getColumnModel().getColumn(i);

        comp = headerRenderer.getTableCellRendererComponent(null, column.getHeaderValue(), false, false, 0, 0);
        headerWidth = comp.getPreferredSize().width;

        comp = table.getDefaultRenderer(model.getColumnClass(i)).getTableCellRendererComponent(table,
                longValues[i], false, false, 0, i);
        cellWidth = comp.getPreferredSize().width;

        if (DEBUG) {
            System.out.println("Initializing width of column " + i + ". " + "headerWidth = " + headerWidth
                    + "; cellWidth = " + cellWidth);
        }

        // XXX: Before Swing 1.1 Beta 2, use setMinWidth instead.
        column.setPreferredWidth(Math.max(headerWidth, cellWidth));
    }
}

From source file:com.diversityarrays.kdxplore.curate.SampleEntryPanel.java

private void restoreColumnWidths(Map<TableColumn, Integer> widthByColumn) {
    if (widthByColumn == null) {
        return;//from   ww  w .j ava  2s  .com
    }
    Enumeration<TableColumn> e = typedSampleTable.getColumnModel().getColumns();
    while (e.hasMoreElements()) {
        TableColumn tc = e.nextElement();
        Integer width = widthByColumn.get(tc);
        if (width != null) {
            tc.setPreferredWidth(width);
        }
    }
}

From source file:edu.ku.brc.specify.plugins.sgr.SGRResultsDisplay.java

/**
 * From http://www.pikopong.com/blog/2008/08/13/auto-resize-jtable-column-width/
 * /*w w  w.  j a va 2  s. c  o m*/
 * @param table
 * @param model
 * @return
 */
private JTable autoResizeColWidth(JTable table, DefaultTableModel model) {
    table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    table.setModel(model);

    int margin = 5;

    for (int i = 0; i < table.getColumnCount(); i++) {
        int vColIndex = i;
        DefaultTableColumnModel colModel = (DefaultTableColumnModel) table.getColumnModel();
        TableColumn col = colModel.getColumn(vColIndex);
        int width = 0;

        // Get width of column header
        TableCellRenderer renderer = col.getHeaderRenderer();

        if (renderer == null) {
            renderer = table.getTableHeader().getDefaultRenderer();
        }

        Component comp = renderer.getTableCellRendererComponent(table, col.getHeaderValue(), false, false, 0,
                0);

        width = comp.getPreferredSize().width;

        // Get maximum width of column data
        for (int r = 0; r < table.getRowCount(); r++) {
            renderer = table.getCellRenderer(r, vColIndex);
            comp = renderer.getTableCellRendererComponent(table, table.getValueAt(r, vColIndex), false, false,
                    r, vColIndex);
            width = Math.max(width, comp.getPreferredSize().width);
        }

        // Add margin
        width += 2 * margin;

        // Set the width
        col.setPreferredWidth(width);
    }

    ((DefaultTableCellRenderer) table.getTableHeader().getDefaultRenderer())
            .setHorizontalAlignment(SwingConstants.LEFT);

    // table.setAutoCreateRowSorter(true);
    //table.getTableHeader().setReorderingAllowed(false);

    return table;
}

From source file:es.emergya.ui.plugins.AdminPanel.java

/**
 * Cambia los datos que muestra la tabla al array que se le pase.
 * /*w  ww  .  j a v  a 2  s  .c om*/
 * Se aconseja que sean: * {@link Boolean} para valores si/no *
 * {@link AbstractAction} o subclases para botones * Numeros *
 * {@link String} para todo lo demas
 * 
 * @param data
 */
public void setTableData(final Object[][] data) {
    final Object[][] newData = new Object[data.length][];

    SwingWorker<Object, Object> sw = new SwingWorker<Object, Object>() {

        private MyTableModel model;

        @Override
        protected Object doInBackground() throws Exception {
            if (data == null) {
                return null;
            }
            model = (MyTableModel) table.getModel();

            synchronized (seleccion) {
                for (int i = 0; i < model.getRowCount(); i++) {
                    if ((Boolean) model.getValueAt(i, 0)) {
                        seleccion.add(model.getValueAt(i, columnToReselect));
                    }
                }
            }

            synchronized (seleccion) {
                for (int i = 0; i < data.length; i++) {
                    newData[i] = new Object[data[0].length + 1];
                    newData[i][0] = new Boolean(Authentication.isAuthenticated()
                            && seleccion.contains(data[i][columnToReselect - 1]));
                    for (int j = 0; j < data[i].length; j++) {
                        newData[i][j + 1] = data[i][j];
                    }
                }
            }
            return null;
        }

        protected void done() {
            model.updateRows(newData);

            if (!initialized) {
                table.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE);
                for (Integer i : colsWidth.keySet()) {
                    try {
                        final TableColumn column = table.getColumnModel().getColumn(i);
                        final TableColumn filtro = filters.getColumnModel().getColumn(i);
                        column.setPreferredWidth(colsWidth.get(i));
                        column.setMinWidth(colsWidth.get(i));
                        column.setMaxWidth(colsWidth.get(i));
                        filtro.setPreferredWidth(colsWidth.get(i));
                        filtro.setMinWidth(colsWidth.get(i));
                        filtro.setMaxWidth(colsWidth.get(i));

                    } catch (Throwable t) {
                        log.error("Error al resizar las columnas: " + t);
                    }
                }

                TableColumn col = table.getColumnModel().getColumn(0);
                TableColumn fil = filters.getColumnModel().getColumn(0);
                log.trace("Resizando CheckBox");
                col.setMaxWidth(49);
                fil.setMaxWidth(49);

                int defaultWidth = 54;
                for (int i = 1; i < table.getColumnModel().getColumnCount() - 2; i++) {
                    col = table.getColumnModel().getColumn(i);
                    fil = filters.getColumnModel().getColumn(i);

                    final Class<?> columnClass = ((MyTableModel) table.getModel()).getColumnClass(i);
                    if (columnClass == JButton.class) {
                        log.trace("Resizando JButton");
                        col.setMaxWidth(defaultWidth);
                        fil.setMaxWidth(defaultWidth);
                    } else if (columnClass == Boolean.class) {
                        log.trace("Resizando CheckBox");
                        col.setMaxWidth(49);
                        fil.setMaxWidth(49);
                    }
                }

                if (getCanDelete()) {
                    col = table.getColumnModel().getColumn(table.getColumnModel().getColumnCount() - 2);
                    col.setMaxWidth(defaultWidth);
                    col.setPreferredWidth(defaultWidth);
                    col = table.getColumnModel().getColumn(table.getColumnModel().getColumnCount() - 1);
                    col.setMaxWidth(defaultWidth);
                    col.setPreferredWidth(defaultWidth);
                } else {
                    col = table.getColumnModel().getColumn(table.getColumnModel().getColumnCount() - 1);
                    col.setMaxWidth(defaultWidth * 2);
                    col.setPreferredWidth(defaultWidth * 2);
                }
                int max = filters.getColumnModel().getColumnCount() - 1;
                filters.getColumnModel().getColumn(max).setMaxWidth(61);
                filters.getColumnModel().getColumn(max - 1).setMaxWidth(32);
                filters.getColumnModel().getColumn(max - 2).setMaxWidth(32);
                initialized = true;
            }
        }
    };
    sw.execute();
}