Configurando a linha da JTable para ficar semelhante a quebra de texto do EXCEL, aumentando o tamanho da linha de acordo com o tamanho do texto:
![]() |
Exemplo de Tabela |
- public class TextAreaCellRenderer extends JTextArea implements TableCellRenderer {
- public TextAreaCellRenderer() {
- setLineWrap(true);
- setWrapStyleWord(true);
- setFont(new java.awt.Font("Tahoma", 0, 11)); // NOI18N
- setMargin(new java.awt.Insets(5, 5, 5, 5));
- }
- @Override
- public Component getTableCellRendererComponent(
- JTable table, Object value, boolean isSelected, boolean hasFocus, introw, int column) {
- // set color & border here
- this.setText(value.toString());
- setText((value == null) ? "" : value.toString());
- setSize(table.getColumnModel().getColumn(column).getWidth(),
- getPreferredSize().height);
- if (table.getRowHeight(row) < getPreferredSize().height) {
- table.setRowHeight(row, getPreferredSize().height );
- }
- return this;
- }
- }
Para adicionar na tabela utilize o seguinte código:
- for (int i = 0; i < jTable.getColumnCount(); i++) {
- col = jTable.getColumnModel().getColumn(i);
- col.setCellRenderer(new TextAreaCellRenderer());
- }