Java Swing - Jtable Text Alignment And Column W... Instant

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

DefaultTableCellRenderer centerAlignedRenderer = new DefaultTableCellRenderer(); centerAlignedRenderer.setHorizontalAlignment(JLabel.CENTER); table.getColumnModel().getColumn(1).setCellRenderer(centerAlignedRenderer);

import javax.swing.*; import javax.swing.table.DefaultTableModel; Java Swing - JTable Text Alignment And Column W...

He looked at the Description column. A long sentence stretched across multiple lines, wrapping neatly at the column boundary, pushing the row taller just enough to contain it. The next row, with a short description, was shorter. The row heights were dynamic. Perfect. Beautiful.

JTable provides several auto-resize constants: ((DefaultTableCellRenderer) table

// Make the frame visible frame.setVisible(true);

model = new ProductTableModel(); table = new JTable(model); table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); wrapping neatly at the column boundary

@Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) // Reuse default behavior for colors, selection, etc. Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);