Pessoal, estou com alguns problemas, já li bastante mas não consegui resolver. Devo avisar que uso uma TableModel como modelo na minha jTable. Os problemas são:
1-Definir largura das colunas de uma jTable
Eu fiz:jTableAulas.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
jTableAulas.getColumnModel().getColumn(0).setPreferredWidth(100);
jTableAulas.getColumnModel().getColumn(1).setPreferredWidth(815);
O que eu queria na verdade é que uma das colunas eu determinasse a largura e a outra se ajustasse conforme o espaço que sobrar.
2-Formatar o alinhamento do conteúdo das colunas.
Eu fiz esta classe para testar:public class FormatacaoTable extends DefaultTableCellRenderer implements TableCellRenderer {
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
Class c = table.getColumnClass(column);
Component comp = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
if (Integer.class.isAssignableFrom(c)) {
comp.setBackground(Color.red);
} else if (String.class.isAssignableFrom(c)) {
comp.setBackground(Color.blue);
} else if (Float.class.isAssignableFrom(c)) {
comp.setBackground(Color.yellow);
} else {
comp = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
}
return this;
}
}
Minha model tem o método de retorno do tipo de classe de cada coluna.
3-Como faço para validar campos, ou seja, quando for int não aceitar letras e tal?
Agradeço a ajuda pessoal e fico no aguardo.
