Salut,
j'ai développé une application contenant un toolbar et des jpanel imbriqués.
lorsque j’appuie sur un bouton du toolbar, un jpanel s'affiche dans un autre.
le voilà mes classes:
la classe ToolBarPane:
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
package com.jam.views;
 
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Event;
import java.awt.FlowLayout;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Paint;
import java.awt.Rectangle;
 
import javax.swing.JLabel;
import javax.swing.JPanel;
import com.jam.business.CallPanesService;
import com.jam.templates.BeanFactoryTemp;
import com.jam.templates.ItemPane;
 
import java.awt.ComponentOrientation;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.beans.EventHandler;
 
 
@SuppressWarnings("serial")
public class ToolBarPane extends JPanel{
 
	private ItemPane openItem = null;
	private ItemPane trsItem = null;
 
	ContainerPane cp = new ContainerPane(983, 584);
 
	public ToolBarPane(int w, int h){
 
		setSize(w, h);
		initialize();
	}
	/**
         * This method initializes this
         * 
         */
	private void initialize(){
 
		setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
		add(getOpenItem(), FlowLayout.LEFT);			
	}
 
	/**
         * This method initializes openItem     
         *      
         * @return javax.swing.JPanel   
         */
	public ItemPane getOpenItem() {
		if (openItem == null) {
			openItem = new ItemPane("assets/new.png", "Nouveau");
			openItem.setName("openItem");
			openItem.addMouseListener(cp);			
 
		}
		return openItem;
	}
/**
         * This method initializes trsItem      
         *      
         * @return javax.swing.JPanel   
         */
	private ItemPane getTrsItem() {
		if (trsItem == null) {
			trsItem = new ItemPane("assets/budget.png","Encaissements" );
 
		}
		return trsItem;
	}
la classe ContainerPane : c'est là lorsque je clique sur un bouton du toolBarPane je veux insérer le jpanel correspond .
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
package com.jam.views;
 
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Paint;
import java.awt.Rectangle;
import java.awt.RenderingHints;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
 
import javax.swing.JLabel;
import javax.swing.JPanel;
 
import com.jam.business.CallPanesService;
import com.jam.templates.BeanFactoryTemp;
import com.jam.templates.OvalPanel;
 
public class ContainerPane extends OvalPanel implements MouseListener{
 
	private OvalPanel welcomePane = null;
	private OvalPanel switchPane  = null;
	private JLabel welcomeLbl = null;
	SyndicatManagerPane smp = new SyndicatManagerPane(this.getWidth(), this.getHeight());
 
	public ContainerPane(){}
 
	public ContainerPane(int w, int h) {
		super(w, h);
		//initialize();
 
	}
	public ContainerPane(int w, int h, Dimension d) {
		super(w, h, d);
		initialize();
	}
 
	/**
         * This method initializes this
         * 
         */
	private void initialize() {
        setLayout(new BorderLayout());
        add(getWelcomePane(), BorderLayout.NORTH);
        add(getSwitchPane(), BorderLayout.CENTER);	
 
	}
 
	/**
         * This method initializes menuPane     
         *      
         * @return javax.swing.JPanel   
         */
	private JLabel getWelcomeLbl() {
		if (welcomeLbl == null) {
			welcomeLbl = new JLabel("Bienvenue au Syndicat ");
			welcomeLbl.setFont(new Font("Calibri", Font.PLAIN, 13));
 
		}
		return welcomeLbl;
	}
 
	/**
         * This method initializes menuPane     
         *      
         * @return javax.swing.JPanel   
         */
	public OvalPanel getSwitchPane() {
		if (switchPane == null) {
			switchPane =  new OvalPanel(10, 10, new Dimension(this.getWidth(), this.getHeight()));
 
		}
		return switchPane;
	}
 
	/**
         * This method initializes syndicatView 
         *      
         * @return javax.swing.JPanel   
         */
	public OvalPanel getWelcomePane() {
		if (welcomePane == null) {
			welcomePane = new OvalPanel(3, 3, new Dimension(this.getWidth(), 0));
			welcomePane.add(getWelcomeLbl(), BorderLayout.CENTER);
 
		}
		return welcomePane;
	}
 
	@Override
	public void mouseClicked(MouseEvent e) {
		getSwitchPane().add(smp, BorderLayout.EAST);
		System.out.println(e.getComponent().getName());
		System.out.println("clicked!");
	}
 
	@Override
	public void mousePressed(MouseEvent e) {
		// TODO Auto-generated method stub
 
	}
 
	@Override
	public void mouseReleased(MouseEvent e) {
		// TODO Auto-generated method stub
 
	}
 
	@Override
	public void mouseEntered(MouseEvent e) {
		// TODO Auto-generated method stub
 
	}
 
	@Override
	public void mouseExited(MouseEvent e) {
		// TODO Auto-generated method stub
 
	}
 
 
 
}
Mais le switchPane(là où je veux insérer un autre panel) ne m'affiche rien.Je sais pas est ce que j'ai bien appliquer la bonne façon de gestion des évènements ou non?
merci d'avance