java eclipse : 2 onglets sur 6 posent problèmes
Bonjour à tous,
Je possède 6 onglets dont 4 affiche bien leur jtable et bouton correspondants, mais deux autre en l'occurrence auteur et profil sont vides bien qu'ils aient la même structure.
Voici la Ihm qui ajouter les onglets suivit des 2 onglets en questions :
Ihm code :
Code:
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
|
package ihm;
import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.SwingConstants;
import event.Affichage;
import event.MonWindowAdapter;
import ihm.onglets.Auteur;
import ihm.onglets.Client;
import ihm.onglets.Commande;
import ihm.onglets.Editeur;
import ihm.onglets.Livre;
import ihm.onglets.Profil;
public class Ihm extends JFrame
{
private static final long serialVersionUID = 1L;
private static Menu menu;
private static JTabbedPane onglets;
private static Livre ongletLivre;
private static Auteur ongletAuteur;
private static Client ongletClient;
private static Commande ongletCommande;
private static Editeur ongletEditeur;
private static Profil ongletProfil;
private JPanel panZoneClient;
private JPanel panHeader;
//============================================================
//constructeur
private Ihm()
{
initIhm();
}
//initialisation de toute l'application
private void initIhm()
{
//evenement de la fenêtre
this.addWindowListener(new MonWindowAdapter(this));
//ajout des onglets
onglets = new JTabbedPane(SwingConstants.NORTH);
ongletAuteur = new Auteur(this);
ongletClient = new Client(this);
ongletCommande = new Commande(this);
ongletEditeur = new Editeur(this);
ongletLivre = new Livre(this);
ongletProfil = new Profil(this);
onglets.addTab(Affichage.getRessource().getString("titreongletauteur"),ongletAuteur);
onglets.addTab(Affichage.getRessource().getString("titreongletclient"),ongletClient);
onglets.addTab(Affichage.getRessource().getString("titreongletcommande"),ongletCommande);
onglets.addTab(Affichage.getRessource().getString("titreongletediteur"),ongletEditeur);
onglets.addTab(Affichage.getRessource().getString("titreongletlivre"),ongletLivre);
onglets.addTab(Affichage.getRessource().getString("titreongletprofil"),ongletProfil);
onglets.setOpaque(true);
onglets.setSelectedIndex(0);
panHeader = new JPanel();
panHeader.setLayout(new FlowLayout());
//zone client
panZoneClient = (JPanel) this.getContentPane();
panZoneClient.setLayout(new FlowLayout());
panZoneClient.add(Ihm.onglets);
//ajout du menu
Ihm.menu = new Menu(this);
this.setJMenuBar(Ihm.menu);
//Changer la langue
event.Affichage.getChangerValeurMenu(Ihm.menu);
}
//============================================================
//instenciation
private static Ihm ihm;
public static Ihm getInstance()
{
if (ihm == null) {
ihm = new Ihm();
}
return ihm;
}
//============================================================
//Getter and setter
public static Livre getOngletLivre() {
return ongletLivre;
}
public static Auteur getOngletAuteur() {
return ongletAuteur;
}
public static Client getOngletClient() {
return ongletClient;
}
public static Commande getOngletCommande() {
return ongletCommande;
}
public static Editeur getOngletEditeur() {
return ongletEditeur;
}
public static Profil getOngletProfil() {
return ongletProfil;
}
public static JTabbedPane getOnglets() {
return onglets;
}
public static Menu getMenu() {
return menu;
}
} |
Auteur code :
Code:
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 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209
|
package ihm.onglets;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.Vector;
import javax.swing.BorderFactory;
import javax.swing.BoxLayout;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.border.BevelBorder;
import event.Affichage;
import event.MonEcouteur;
import event.itemCRUD.AbstractOnglet;
import ihm.Ihm;
import metier.JTableModel;
import metier.Requete;
public class Auteur extends AbstractOnglet
{
private static final long serialVersionUID = 1L;
//BODY
private JPanel panBody;
private JTableModel tableModel;
private JTable jtable;
private JScrollPane ascenseur;
//FOOTER
private JPanel panFooter;
private JButton btnValider;
private JButton btnAnnuler;
private JButton btnReinitialiser;
private ButtonGroup grpGroupe;
//==================================================
public Auteur(Ihm ihm)
{
initControls(ihm);
preparerOngletAuteur(ihm);
}
/**
* préparation de l'onglet Auteur
*/
private void preparerOngletAuteur(Ihm ihm)
{
this.setSize(600,0);
//titre de l'onglet
this.setBorder(BorderFactory.createTitledBorder(Affichage.getRessource().getString("titreongletauteursup")));
this.setBackground(Color.LIGHT_GRAY);
}
private void initControls(Ihm ihm)
{
//BODY
panBody = new JPanel();
panBody.setLayout(new FlowLayout());
//JTable
jtable = new JTable();
tableModel = this.createTableModel();
jtable.setModel(tableModel);
jtable.setPreferredSize(new Dimension(570, 150));
jtable.setBorder(BorderFactory.createEtchedBorder(BevelBorder.LOWERED));
jtable.getSelectionModel().addListSelectionListener(e-> changeTableSelection());
//ascenseur
ascenseur = new JScrollPane();
ascenseur.setPreferredSize(new Dimension(570, 150));
ascenseur.setViewportView(jtable);
panBody.add(ascenseur);
//FOOTER
panFooter = new JPanel();
panFooter.setLayout(new FlowLayout());
grpGroupe = new ButtonGroup();
btnValider = new JButton();
btnValider.addActionListener(new MonEcouteur(ihm));
grpGroupe.add(btnValider);
panFooter.add(btnValider);
btnAnnuler = new JButton();
btnAnnuler.addActionListener(new MonEcouteur(ihm));
grpGroupe.add(btnAnnuler);
panFooter.add(btnAnnuler);
btnReinitialiser = new JButton();
btnReinitialiser.addActionListener(new MonEcouteur(ihm));
grpGroupe.add(btnReinitialiser);
panFooter.add(btnReinitialiser);
//panneau Client
this.setLayout(new BorderLayout());
this.add(panBody, BorderLayout.CENTER);
this.add(panFooter, BorderLayout.SOUTH);
//redéssiner l'interface
Affichage.getChangerValeurAuteur(this);
}
//==================================================
//méthode de l'onglet auteur
/**
* méthode pour ajouter un élément
* @return
*/
public ActionListener getAjoutItem() {
return event -> ajouterAuteur();
}
/**
* méthode pour supprimer un élément
* @return
*/
public ActionListener getSupprimeItem() {
return event -> supprimerAuteur();
}
/**
* ajouter un auteur à la base de donnée livrokaz
*/
public void ajouterAuteur() {
// ici le code pour ajouter un auteur
Vector vecteur = new Vector();
vecteur.addElement(getAjoutItem());
System.out.println("J'ajoute un auteur");
tableModel.setEnregistrements(vecteur);
event.MonEcouteur.ajouterAuteur_click();
}
/**
* suuprimer un auteur de la base de donnée livrokaz
*/
public void supprimerAuteur() {
// ici le code pour supprimer un auteur
System.out.println("Je supprime un auteur");
Vector vecteur = new Vector();
vecteur.addElement(getSupprimeItem());
int min = jtable.getSelectionModel().getMinSelectionIndex();
int max = jtable.getSelectionModel().getMaxSelectionIndex();
for (int i=max; i>=min; i--) {
tableModel.removeRow(i);
}
event.MonEcouteur.supprimerAuteur_click();
}
//==================================================
//getter and setter
public JButton getBtnValider() {
return btnValider;
}
public void setBtnValider(JButton btnValider) {
this.btnValider = btnValider;
}
public JButton getBtnAnnuler() {
return btnAnnuler;
}
public void setBtnAnnuler(JButton btnAnnuler) {
this.btnAnnuler = btnAnnuler;
}
public JButton getBtnReinitialiser() {
return btnReinitialiser;
}
public void setBtnReinitialiser(JButton btnReinitialiser) {
this.btnReinitialiser = btnReinitialiser;
}
public JTable getJtable() {
return jtable;
}
public JTableModel getTableModel() {
return createTableModel();
}
public void setTableModel(JTableModel tableModel) {
this.tableModel = tableModel;
this.tableModel.fireTableStructureChanged();
this.tableModel.fireTableDataChanged();
}
@Override
protected JTableModel createTableModel() {
ArrayList<Vector<String>> vecteurs = new ArrayList<Vector<String>>();
Vector<String> vecteurColumnName = new Vector<String>();
JTableModel monTableModel;
vecteurs = Requete.resultVectorAuteur();
vecteurColumnName.addElement(Affichage.getRessource().getString("id"));
vecteurColumnName.addElement(Affichage.getRessource().getString("nom"));
vecteurColumnName.addElement(Affichage.getRessource().getString("prenom"));
monTableModel = new JTableModel(vecteurs);
monTableModel.setColumnName(vecteurColumnName);
return monTableModel;
}
} |
Profil code :
Code:
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 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207
|
package ihm.onglets;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.Vector;
import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.border.BevelBorder;
import event.Affichage;
import event.MonEcouteur;
import event.itemCRUD.AbstractOnglet;
import ihm.Ihm;
import metier.JTableModel;
import metier.Requete;
public class Profil extends AbstractOnglet
{
private static final long serialVersionUID = 1L;
//BODY
private JPanel panBody;
private JTableModel tableModel;
private JTable jtable;
private JScrollPane ascenseur;
//FOOTER
private JPanel panFooter;
private JButton btnValider;
private JButton btnAnnuler;
private JButton btnReinitialiser;
private ButtonGroup grpGroupe;
//==================================================
public Profil(Ihm ihm)
{
initControls(ihm);
preparerOngletProfil(ihm);
}
/**
* préparation de l'onglet Profil
*/
private void preparerOngletProfil(Ihm ihm)
{
this.setSize(600,0);
//titre de l'onglet
this.setBorder(BorderFactory.createTitledBorder(Affichage.getRessource().getString("titreongletprofilsup")));
this.setBackground(Color.LIGHT_GRAY);
}
private void initControls(Ihm ihm)
{
//BODY
panBody = new JPanel();
panBody.setLayout(new FlowLayout());
//JTable
jtable = new JTable();
tableModel = this.createTableModel();
jtable.setModel(tableModel);
jtable.setPreferredSize(new Dimension(570, 150));
jtable.setBorder(BorderFactory.createEtchedBorder(BevelBorder.LOWERED));
jtable.getSelectionModel().addListSelectionListener(e-> changeTableSelection());
//ascenseur
ascenseur = new JScrollPane();
ascenseur.setPreferredSize(new Dimension(570, 150));
ascenseur.setViewportView(jtable);
panBody.add(ascenseur);
//FOOTER
panFooter = new JPanel();
panFooter.setLayout(new FlowLayout());
grpGroupe = new ButtonGroup();
btnValider = new JButton();
btnValider.addActionListener(new MonEcouteur(ihm));
grpGroupe.add(btnValider);
panFooter.add(btnValider);
btnAnnuler = new JButton();
btnAnnuler.addActionListener(new MonEcouteur(ihm));
grpGroupe.add(btnAnnuler);
panFooter.add(btnAnnuler);
btnReinitialiser = new JButton();
btnReinitialiser.addActionListener(new MonEcouteur(ihm));
grpGroupe.add(btnReinitialiser);
panFooter.add(btnReinitialiser);
//panneau Client
this.setLayout(new BorderLayout());
this.add(panBody, BorderLayout.CENTER);
this.add(panFooter, BorderLayout.SOUTH);
//redéssiner l'interface
Affichage.getChangerValeurProfil(this);
}
//==================================================
//méthode de l'onglet profil
/**
* méthode pour ajouter un élément
* @return
*/
public ActionListener getAjoutItem() {
return event -> ajouterProfil();
}
/**
* méthode pour supprimer un élément
* @return
*/
public ActionListener getSupprimeItem() {
return event -> supprimerProfil();
}
/**
* ajouter un profil à la base de donnée livrokaz
*/
public void ajouterProfil() {
// ici le code pour ajouter un profil
Vector vecteur = new Vector();
vecteur.addElement(getAjoutItem());
System.out.println("J'ajoute un profil");
tableModel.setEnregistrements(vecteur);
event.MonEcouteur.ajouterProfil_click();
}
/**
* suuprimer un profil de la base de donnée livrokaz
*/
public void supprimerProfil() {
// ici le code pour supprimer un profil
Vector vecteur = new Vector();
vecteur.addElement(getSupprimeItem());
System.out.println("Je supprime un profil");
int min = jtable.getSelectionModel().getMinSelectionIndex();
int max = jtable.getSelectionModel().getMaxSelectionIndex();
for (int i=max; i>=min; i--) {
tableModel.removeRow(i);
}
event.MonEcouteur.supprimerProfil_click();
}
//==================================================
//getter and setter
public JButton getBtnValider() {
return btnValider;
}
public void setBtnValider(JButton btnValider) {
this.btnValider = btnValider;
}
public JButton getBtnAnnuler() {
return btnAnnuler;
}
public void setBtnAnnuler(JButton btnAnnuler) {
this.btnAnnuler = btnAnnuler;
}
public JButton getBtnReinitialiser() {
return btnReinitialiser;
}
public void setBtnReinitialiser(JButton btnReinitialiser) {
this.btnReinitialiser = btnReinitialiser;
}
public JTable getJtable() {
return jtable;
}
public JTableModel getTableModel() {
return createTableModel();
}
public void setTableModel(JTableModel tableModel) {
this.tableModel = tableModel;
this.tableModel.fireTableStructureChanged();
this.tableModel.fireTableDataChanged();
}
@Override
protected JTableModel createTableModel() {
ArrayList<Vector<String>> vecteurs = new ArrayList<Vector<String>>();
Vector<String> vecteurColumnName = new Vector<String>();
JTableModel monTableModel;
vecteurs = Requete.resultVectorProfil();
vecteurColumnName.addElement(Affichage.getRessource().getString("id"));
vecteurColumnName.addElement(Affichage.getRessource().getString("libelle"));
monTableModel = new JTableModel(vecteurs);
monTableModel.setColumnName(vecteurColumnName);
return monTableModel;
}
} |
Merci pour vos éclaircissements :)