1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
| import java.awt.Component;
import java.awt.Font;
import javax.swing.AbstractCellEditor;
import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableCellEditor;
import javax.swing.table.TableColumn;
class Tableau extends JTable {
private String[] nomCol = {
"<html><bold><H3>HEURE", "<html><bold><H3>RECETTE",
"<html><bold><H3>NOMBRE", "<html><bold><H3>RELIQUATS",
"<html><bold><H3>TOTAL", "<html><bold><H3>NB CONT",
"<html><bold><H3>NB BU", "<html><bold><H3>GROUPE"
};
MonModele monModele = new MonModele(29, nomCol);
DefaultTableCellRenderer custom = new DefaultTableCellRenderer();
public Tableau(){
this.setModel(monModele);
this.setFont(new Font("SANS SERIF", Font.BOLD, 16));
custom.setHorizontalAlignment(JLabel.CENTER);
for (int i=0 ; i<this.getColumnCount() ; i++) {
this.getColumnModel().getColumn(i).setCellRenderer(custom);
TableColumn col = this.getColumnModel().getColumn(i);
col.setCellEditor(new MonTableCellEditor());
col.setPreferredWidth(100);
this.getColumnModel().getColumn(i).setResizable(false);
this.tableHeader.setReorderingAllowed(false);
}
this.setRowSelectionAllowed(false);
this.setRowHeight(28);
this.setVisible(true);
}
public class MonTableCellEditor extends AbstractCellEditor implements TableCellEditor {
JComponent component = new JTextField();
@Override
public Component getTableCellEditorComponent(JTable table, Object value,
boolean isSelected, int rowIndex, int vColIndex) {
if (isSelected) {
}
((JTextField)component).setText((String)value);
return component;
}
@Override
public Object getCellEditorValue() {
return ((JTextField)component).getText().toUpperCase();
}
}
} |