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
| public class JFramePrincipale extends javax.swing.JFrame {
int nbCol = -1; //Variable globale qui contient l'indice de la dernnière colone créee
int premier = 1; //Est a 1 si il n'y a aucune colone dans le Jtable
String nomCol = ""; //Variable qui changera selon le nom d'une nouvelle colone
DefaultTableModel modTab = new DefaultTableModel();
public JFramePrincipale() {
initComponents(); //La fonction de NetBeans qui génère automatiquement les élément de la JFrame choisie via une interface graphique (Crée entre autre le jTable "jTableResu")
this.jTableResu.setModel(modTab);
}
public void CreeColone() {
//Vérifie quel jCheckBox sont cochée
boolean cocherSin = jCheckBoxNbSin.isSelected();
boolean cocherCCS = jCheckBoxTotalCoutCin.isSelected();
boolean cocherMTC = jCheckBoxTotalCot.isSelected();
//Premier est initialiser à 1. Il n'y a pas de colone dans le jTable lors du lancement du programme. Donc pas besoin de passer par supprCol pour supprimer des colones
if (premier != 1) {
supprCol ();
}
//Les colones qui suivent seront crée quelque soit la requête sql choisie via l'interface graphique. On incrémente nbCol à chaque fois pour savoir quel est l'indice de la dernière colone créee.
nomCol = "Code";
modTab.addColumn(nomCol);
nbCol++;
nomCol = "Modele";
modTab.addColumn(nomCol);
nbCol++;
nomCol = "Marque";
modTab.addColumn(nomCol);
nbCol++;
//Selon si les checkBox au dessus son cocher ou pas, on crée de nouvelle colones
if (cocherSin) {
nomCol = "Nombre de sinistres";
modTab.addColumn(nomCol);
nbCol++;
}
if (cocherCCS) {
nomCol = "Coût total sinistres";
modTab.addColumn(nomCol);
nbCol++;
}
if (cocherMTC) {
nomCol = "Motant total cotisations";
modTab.addColumn(nomCol);
nbCol++;
}
//Des colone on été crée, premier passe à 0. La prochaine fois qu'on cliquera sur afficher, CreeColone fera appel a supprCol
premier = 0;
}
public void supprCol () {
//Tant que l'indice de la dernnière colone du jTable n'est pas à -1
while (nbCol != -1) {
//On supprime la colone en indiquant sont indice "nbCol". "nbCol" est décrémenter pour que toute les colones soient supprimer petit à petit.
jTableResu.removeColumn(jTableResu.getColumnModel().getColumn(nbCol));
nbCol--;
}
private void jButtonAfficherActionPerformed(java.awt.event.ActionEvent evt) {
CreeColone(); //On fait appel à la fonction "CreeColone" lorsque l'utilisateur clique sur "Afficher"
}
} |
Partager