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 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
|
//**********************************************************
public void afficherTableauIndicTpsSejour()
{
//on nettoie le panel, et on enlève le graphe..
JSP.removeAll();
pnlPreview.remove(JSP);
pnlPreview.setVisible(false);
modell=new TableauNavigateurModel();
table = new JTable(modell);
modell.clearTable();
// Initialisation
JSP=new JScrollPane(table);
//Ajout des colonnes précédemment déclarées
modell.addColumn("N° Prog", liste1.toArray());
modell.addColumn("Date \nenfournement", liste2.toArray());
modell.addColumn("Programme", liste3.toArray());
modell.addColumn("Cumul", liste4.toArray());
modell.addColumn("Programme", liste9.toArray());
modell.addColumn("Cumul",liste5.toArray());
modell.addColumn("Pourcentage",liste6.toArray());
modell.addColumn("Programe", liste10.toArray());
modell.addColumn("Cumul",liste7.toArray());
modell.addColumn("Pourcentage",liste8.toArray());
//on force la taille du tableau
table.getColumnModel().getColumn(0).setPreferredWidth(95);
table.getColumnModel().getColumn(1).setPreferredWidth(95);
table.getColumnModel().getColumn(2).setPreferredWidth(95);
table.getColumnModel().getColumn(3).setPreferredWidth(95);
table.getColumnModel().getColumn(4).setPreferredWidth(130);
table.getColumnModel().getColumn(5).setPreferredWidth(130);
table.getColumnModel().getColumn(6).setPreferredWidth(130);
table.getColumnModel().getColumn(7).setPreferredWidth(130);
table.getColumnModel().getColumn(8).setPreferredWidth(130);
table.getColumnModel().getColumn(9).setPreferredWidth(130);
//on informe l'utilisateur que la table est non éditable quand il essaie de modifier une donnée
table.addMouseListener(new MouseListener() {
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2) {
JOptionPane.showMessageDialog(null, "Information: Vous ne pouvez pas éditer les données!","Information",JOptionPane.INFORMATION_MESSAGE);
}
}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
});
table.getTableHeader().setFont(table.getFont().deriveFont(Font.BOLD));
table.setFont(table.getFont().deriveFont(Font.NORMAL));
//l'utilisateur ne peut pas déplacer les colonnes
table.getTableHeader().setReorderingAllowed(false);
//On déclare deux renderer un par défaut et l'autre personnalisé
TabCellRenderer renderer1 = new TabCellRenderer();
TabCellRenderer renderer = new TabCellRenderer();
renderer1.setForeground(Color.black);
renderer1.setBackground(Color.lightGray);
int columnNumber= table.getColumnCount();
for(int j=0; j<columnNumber; j+=2){
table.getColumnModel().getColumn(j).setCellRenderer(renderer1);
}
table.setDefaultRenderer(Object.class, renderer);
//Classe qui sert a fractionner les cellules et les regrouper dans une autre
TableColumnModel col = table.getColumnModel();
ColumnGroup nbBloc = new ColumnGroup("Nombre de blocs");
nbBloc.add(col.getColumn(2));
nbBloc.add(col.getColumn(3));
ColumnGroup billetesMini= new ColumnGroup("% Billettes < tps séjour Mini-1/4h");
billetesMini.add(col.getColumn(4));
billetesMini.add(col.getColumn(5));
billetesMini.add(col.getColumn(6));
ColumnGroup billetesMaxi= new ColumnGroup("% Billettes > tps séjour Maxi");
billetesMaxi.add(col.getColumn(7));
billetesMaxi.add(col.getColumn(8));
billetesMaxi.add(col.getColumn(9));
GroupableTableHeader header = new GroupableTableHeader(col);
header.addColumnGroup(nbBloc);
header.addColumnGroup(billetesMini);
header.addColumnGroup(billetesMaxi);
table.setTableHeader(header);
MultiLineHeaderRenderer renderer2 = new MultiLineHeaderRenderer();
Enumeration enum = table.getColumnModel().getColumns();
while (enum.hasMoreElements()) {
((TableColumn)enum.nextElement()).setHeaderRenderer(renderer2);
}
JSP.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
JSP.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
JSP.setSize(pnlPreview.getSize());
//JSP.setPreferredSize(new Dimension(pnlPreview.getSize().width, (pnlPreview.getSize().height)-10));
JSP.setLocation(5,40);
JSP.setVisible(true);
add(JSP);
}
/********************************************************
public void clearTable(){
for(int a = 0; a < getRowCount(); a++)
{
removeRow(a);
}
}
/******************************************************* |
Partager