ciao a tutti,
non riesco ad andare avanti su una cosa che magari è banale, ma su cui ci sono piantato da un po. Allora io ho una jtable composta da 9 colonne. La colonna 2 contiene delle date, mentre le colonne 5, 7 e 9 contengono degli importi in euro. L'ultima riga della tabella deve contenere i totali delle colonne 5, 7 e 9. La mia tabella la carico in questo modo:
codice:
String query = "select * from Fattura";
PreparedStatement pst = connection.prepareStatement(query);
ResultSet rs = pst.executeQuery();
table.setModel(DbUtils.resultSetToTableModel(rs));
A seguire formatto le colonne della tabella in questo modo:
codice:
TableColumnModel tcm = table.getColumnModel();
NumberFormat format = new DecimalFormat("#,###.00");
format.setMaximumFractionDigits(2);
tcm.getColumn(4).setCellRenderer( new NumberRenderer( format ) );
tcm.getColumn(6).setCellRenderer( new NumberRenderer( format ) );
tcm.getColumn(8).setCellRenderer( new NumberRenderer( format ) );
table.getColumnModel().getColumn(1).setCellRenderer(new DateRenderer());
// set TOTAL last row
DefaultTableModel model = (DefaultTableModel)table.getModel();
model.addRow(new Object[] {"TOTALE", null, "", "", getSumColumn(4), "", getSumColumn(6), "", getSumColumn(8)});
Infine vorrei soltanto che l'ultima riga, quella dei totali sia in grassetto, o un colore differente. Ho provato diverse strade ma niente. Allora ho utilizzato la classe:
codice:
Class MyRenderClass implements TableCellRenderer {
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
boolean hasFocus, int row, int column) {
andando a settare l'ultima riga. Però il problema è che setta l'ultima riga a bold, tranne le colonne 1, 4, 6 e 8 che ho modificato... Qualche idea please?????? Grazie milleeeeeee....