Salut a tous,
Je veux dessiner 2 JComponent, dans une Frame:
Pour dessiner un seul component je le mets dans le contenPane de ma frame, pas de souci jusque la.
Je faitsachant que jdgr est:
Code : Sélectionner tout - Visualiser dans une fenêtre à part contentPane.add(jgdr);
Maintenant je veux rajouter un autre objet qui ressemble a jgdr, la le probleme est que le 2 eme objet s'affiche et le 1er ne s'affiche pas, il semble que le 2eme ecrase le 1er.
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 public class JGraduation extends JComponent { public JGraduation(Simulateur sim) { x=20; y=20; ............ } public void paintComponent(Graphics g) { System.out.println("Dessin graduation en cours"); Graphics2D g2 = (Graphics2D)g; g2.setStroke (new BasicStroke(2)); g.setColor(Color.black); g.fill3DRect(5,100,x,y,true); }
Pour cela je prefere mette chacun de ces objets dans un panel a lui.
La je n'ai plus rien des objets qui ne s'affiche, les panels s'affichent mais vide, aucun dessin provenant des mes JComponents s'affiche.
J'ai l'impression que quelque chose m'echappe.
Voila mon bout de code
La methode paint de mon JGraduation ne semble pas s executer, elle s 'executait quand j'avai mis mon JGraduation dans mon contentPane (sans passer par panel1)
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 f = new JFrame(); JFrame.setDefaultLookAndFeelDecorated(true); contentPane = f.getContentPane(); contentPane.setLayout(null); f.setSize(1070,710); f.setLocation(0,0); f.setTitle ("Prevision de la coupe"); panel1 = new JPanel(); panel1.setBorder(BorderFactory.createTitledBorder(" Parametrage des operations ")); panel1.setLayout(null); panel1.setSize(800,600); panel1.setLocation(5,30); panel1.setVisible(true); /*C'est mon dessin que je veux afficher*/ JGraduation jgdr = new JGraduation(sim); panel1.add(jgdr); contentPane.add(panel1); f.setVisible(true); f.validate();
Pourriez vous m'eclaircir?
Merci d'avance
Partager