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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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