Partage
  • Partager sur Facebook
  • Partager sur Twitter

{{ Politesse }} [Besoin d'aide] Surprenant problème de codage !

Tous est dans le titre...

27 novembre 2008 à 23:48:49

Voici le problème:
J'ai C/c 2 codes (désolé pour la mise en page), le premier (code témoin) marche et le deuxième ne marche pas. Aidez moi svp!

Citation : Code n°1

import java.awt.BorderLayout;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JButton;


public class Fenetre extends JFrame {
JPanel p0 = new JPanel();
JPanel p1 = new JPanel();
JPanel p2 = new JPanel();

JButton b1 = new JButton();
JButton b2 = new JButton();

Cercle ce = new Cercle();


public Fenetre() {
this.setTitle("Ma Fenêtre");
this.setVisible(true);
this.setSize(400,400);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);

b1.setText("Bouton 1");
b2.setText("Bouton 2");

p0.setLayout(new BorderLayout());
p0.add(ce, BorderLayout.CENTER);
p2.add(b1);
p2.add(b2);

p0.add(p1,BorderLayout.NORTH);
p0.add(p2,BorderLayout.SOUTH);

this.setContentPane(p0);



}

}



En gros ce code sera utilisé pour créer une fenêtre jframe avec:
* UN conteneur p0 en BorderLayout:
- Au Nord J'ajoute un autre conteneur p1 (avec rien)
- Au Sud J'ajoute un autre conteneur p2 (avec 2 boutons)
- Au Centre j'ajoute un objet Graphics qui héritera de la classe JPanel

==> Ce passe bien à la compil.. Et la fenêtre affiche bien ce qu'il faut.

Citation : Code n°2


import java.awt.BorderLayout;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JButton;


public class Fenetre extends JFrame {
JPanel p0 = new JPanel();
JPanel p1 = new JPanel();
JPanel p2 = new JPanel();

JButton b1 = new JButton();
JButton b2 = new JButton();

Cercle ce = new Cercle();


public Fenetre() {
this.setTitle("Ma Fenêtre");
this.setVisible(true);
this.setSize(400,400);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);

b1.setText("Bouton 1");
b2.setText("Bouton 2");

p0.setLayout(new BorderLayout());
p1.add(ce);
p2.add(b1);
p2.add(b2);

p0.add(p1,BorderLayout.NORTH);
p0.add(p2,BorderLayout.SOUTH);

this.setContentPane(p0);



}

}



En gros ce code sera utilisé pour créer une fenêtre jframe avec:
* UN conteneur p0 en BorderLayout:
- Au Nord J'ajoute un autre conteneur p1 (avec un objet Graphics qui héritera de la classe JPanel)
- Au Sud J'ajoute un autre conteneur p2 (avec 2 boutons)

==> Ce code passe bien à la compilation MAIS mon objet graphics (qui est un cercle en faite) ne s'affiche PAS

==> Question pourquoi mon conteneur p1 ne veut pas dessiner mon beau cercle alors que mon premier code le dessinait?
PS: Un Objet Graphics n'as absolument pas besoin d'un BorderLayout pour être affcihé

  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
28 novembre 2008 à 7:40:33

Le message qui suit est une réponse automatique activée par un modérateur.
Les réponses automatiques permettent d'éviter aux modérateurs d'avoir à répéter de nombreuses fois la même chose, et donc de leur faire gagner beaucoup de temps.
Nous sommes néanmoins ouverts et si vous avez une question ou une remarque, n'hésitez pas à contacter le modérateur en question par MP.


Manque de politesse


Bonjour,

Veuillez prendre note de la première règle du Site du Zér0 : la politesse. Ainsi le fait que le premier message ne contienne pas les formules de politesse de base ("Bonjour", "Merci", "Au revoir", etc.) est inacceptable. Le sujet est par conséquent fermé.

Vous êtes autorisé à en créer un nouveau en faisant attention cette fois à la politesse.


Merci de votre compréhension :)
Les modérateurs.
  • Partager sur Facebook
  • Partager sur Twitter