Bonjour,

Alors voila, je suis un peu bloqué la, j'ai essayé plein de choses sans succes. Je ne suis pas très fort en graphique et en code d'ailleurs lol. Bref, je vous expose mon probleme, j'ai dans ma JFrame, trois JPanel différent. Je les appelle grâce à un menu à cinq choix dont trois reservés à mes JPanel. Je ne sais pas comment changer d'un JPanel à l'autre grâce au menu. Mon code est peut être un peu en bazar, bref conseillé moi, donnez moi votre avis, et surtout les JPanel je suis bloqué.

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
 
package assignment;
 
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.FlowLayout;
import java.awt.Dimension;
 
 
public class GUI extends JFrame{
 
    private JDesktopPane desk = null;
    private JPanel container = null;
    private JPanel container2 = null;
    private JPanel container3 = null;
    private FlowLayout layout = null ;
    private JLabel label = null;
    private JTextField query = null;
    private JComboBox combo = null;
    private JTable table = null;
    private JTable table2 = null;
    private JScrollPane sp = null;
    private JButton button_ins = null;
    private JButton ok = null;
    private DBFunctions DB = new DBFunctions();
 
 
    public GUI() {
        super("Assignment Application");
        init();
        build();
    }
 
    private void init(){
        JMenuBar bar = new JMenuBar();
        JMenu m = new JMenu("Menu");
        JMenuItem connect = new JMenuItem("Connecting to database");
        JMenuItem read = new JMenuItem("Reading data");
        JMenuItem insert = new JMenuItem("Inserting data");
        JMenuItem update = new JMenuItem("Updating data");
        JMenuItem disconnect = new JMenuItem("Disconnecting from database");
        m.add(connect);
        m.add(read);
        m.add(insert);
        m.add(update);
        m.add(disconnect);
        bar.add(m);
        this.setJMenuBar(bar);
        desk = new JDesktopPane();
        this.add(desk);
        connect.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e){
                DB.Connection();
            }
        });
        read.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e){
                refreshPanel(getContainer());
            }
        });
        insert.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e){
                refreshPanel(getContainer2());
            }
        });
        update.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e){
                refreshPanel(getContainer3());
            }
        });
        disconnect.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e){
                DB.Disconnection();
            }
        });
    }
 
    private void build(){
	this.setTitle("Assignment application"); 
	this.setSize(600,500); 
	this.setLocationRelativeTo(null); 
	this.setResizable(false) ; //On interdit la redimensionnement de la fenêtre
	this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //On dit à l’application de se fermer lors du clic sur la croix	
        this.setVisible(true);
    }
 
    private JPanel getContainer(){
 
	layout = new FlowLayout(5); 
	layout.setAlignment(FlowLayout.CENTER);
 
	container = new JPanel() ; // Select JPanel
	container.setLayout(layout); 
 
	label = new JLabel() ;
	label.setText("Query :"); 
	query = new JTextField("SELECT * FROM STUDENT");
        table = new JTable();
        String quer = new String("SELECT * FROM STUDENT");
        table = DB.addDataTable(quer);
        sp = new JScrollPane(table);
	container.add(label);
        container.add(query);
        container.add(sp);
 
        return container ;
	}
 
    private JPanel getContainer2(){
 
        container2.setLayout(layout);
        container2 = new JPanel(); // Insert JPanel
        button_ins = new JButton("Insert");
        button_ins.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e){
                new Form(DB);
                setPanel(getContainer2());
            }
        });
        String query = new String("SELECT * FROM STUDENT");
        table2 = DB.addDataTable(query);
        sp = new JScrollPane(table2);
        container2.add(button_ins);
        container2.add(table2);
 
        return container2;    
    }
 
    private JPanel getContainer3(){
 
        String query = new String("SELECT * FROM STUDENT");    
        container3.setLayout(layout);
        container3 = new JPanel(); // Update JPanel
        ok = new JButton("OK");
        ok.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e){
                String str = combo.getSelectedItem().toString();
                new Form(str);
                refreshPanel(getContainer3());
            }
        });    
        combo = DB.addDataComboBox(combo,query);
        table2 = DB.addDataTable(query);
        sp = new JScrollPane(table2);
        container3.add(table2);
        container3.add(combo);
        container3.add(ok);
 
        return container3;    
    }
 
    private void setPanel(JPanel panel){   // ici aussi par la meme occasion
        this.setContentPane(panel);
        this.setVisible(true);
    }
 
    private void refreshPanel(JPanel panel){  // ici le probleme j'arrive à rien
		//panel.removeAll();
		//setPanel(panel);
                this.setContentPane(panel);
                this.setVisible(true);
		panel.repaint();
		panel.revalidate();
	}
 
    public static void main(String[] args) throws Exception {
        new GUI(); // peut etre l'instance de ma frame n'est pas correct aussi
    } 
}
Un peu long, désolé les admins.
Voila je vous remercie d'avance pour votre aide précieuse.

++