begin process at 2010 02 10 10:09:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Divers

 > 

Débutant(e)

 > 

Ajout JPanel dans un autre JPanel


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Ajout JPanel dans un autre JPanel

lundi 23 février 2009 à 12:16:20 | Ajout JPanel dans un autre JPanel

riderfun

Bonjour, en fait j'ai une petite question qui j'en suis sur est toute bête...
Voilà j'ai créé una JFrame ou il y a un JPanel jusque là tout vas bien!
pui je souhaiterai ajouter a ce JPanel un autre JPanel mais celui ci est une Classe que j'ai fais dérivée du JPanel et je n'arrive pas a l'afficher...voici mon code:
private JPanel getPnlAcceuil() {
if (pnlAcceuil == null) {
pnlAcceuil = new JPanel();
pnlAcceuil.setLayout(null);
pnlAcceuil.setBackground(Color.lightGray);
pnlAcceuil.add(getPnlConfig(), null);
pnlAcceuil.add(new CreateButton(), null);
pnlAcceuil.add(getBtnNewProfil(), null);
}
return pnlAcceuil;
}
public class CreateButton extends JPanel {

JPanel zoneBouton;
public CreateButton() {

zoneBouton = new JPanel();
zoneBouton.setFont(new Font("Dialog", Font.PLAIN, 12));
zoneBouton.setLayout(new FlowLayout());
zoneBouton.setBounds(new Rectangle(6, 122, 538, 166));
zoneBouton.setBorder(BorderFactory.createTitledBorder(BorderFactory
.createLineBorder(Color.MAGENTA), "Profils Disponibles"));
lbl = new JLabel();
lbl.setBounds(new Rectangle(180, 25, 172, 16));
lbl.setText("OS non trouvé");

Merci par avance.
lundi 23 février 2009 à 14:09:03 | Re : Ajout JPanel dans un autre JPanel

cormandyr

as-tu rafraichi ta fenetre?? (si tu modifie la taille de ta fenetre (en cliquant sur les bords par exemple), cela change-t-il quelque chose?
lundi 23 février 2009 à 14:16:21 | Re : Ajout JPanel dans un autre JPanel

riderfun

Non ça ne change rien...j'ai essayé un println dans ma classe CreateButton et ça fontionne...
lundi 23 février 2009 à 14:17:59 | Re : Ajout JPanel dans un autre JPanel

cormandyr

est-ce que tu ajoutes pnlAcceuil à ta fenetre??
lundi 23 février 2009 à 14:19:53 | Re : Ajout JPanel dans un autre JPanel

riderfun

Oui, le pnlAcceuil contient 3 Panel dont les 2 sont définis dans la même classe et je voudrais faire une classe "CreateButton" pour un traitement différent et surtout pour alléger le code.. et je l'ajoute comme pour les autres panel mais ça ne fonctionne pas...
private JPanel getPnlAcceuil() {
if (pnlAcceuil == null) {
pnlAcceuil = new JPanel();
pnlAcceuil.setLayout(null);
pnlAcceuil.setBackground(Color.lightGray);
pnlAcceuil.add(getPnlConfig(), null);
pnlAcceuil.add(new CreateButton(), null);
pnlAcceuil.add(getBtnNewProfil(), null);
}
return pnlAcceuil;
}
lundi 23 février 2009 à 14:22:37 | Re : Ajout JPanel dans un autre JPanel

riderfun

et en fait à la place du createButton j'avais :
private JPanel getPnlProfils() {
if (pnlProfils == null) {
pnlProfils = new JPanel();
pnlProfils.setFont(new Font("Dialog", Font.PLAIN, 12));
pnlProfils.setLayout(new FlowLayout());
pnlProfils.setBorder(BorderFactory.createTitledBorder(BorderFactory
.createLineBorder(Color.MAGENTA), "Profils Disponibles"));
pnlProfils.setBounds(new Rectangle(3, 113, 538, 166));
}
return pnlProfils;
}

et cela fonctionnait très bien mais maintenant je voudrais l'externaliser...pour y ajouter des traitements
lundi 23 février 2009 à 14:24:07 | Re : Ajout JPanel dans un autre JPanel

cormandyr

Réponse acceptée !
commence le constructeur par
super();
ensuite, n'oublie pas d'ajouter tous les éléments...
add(zoneBouton);
lundi 23 février 2009 à 14:25:35 | Re : Ajout JPanel dans un autre JPanel

riderfun

En effet ça fonctionne, en fait il suffisait de faire

private JPanel getPnlAcceuil() {
if (pnlAcceuil == null) {
pnlAcceuil = new JPanel();
pnlAcceuil.setLayout(null);
pnlAcceuil.setBackground(Color.lightGray);
pnlAcceuil.add(getPnlConfig(), null);
pnlAcceuil.add(new CreateButton().zoneBouton, null);
pnlAcceuil.add(getBtnNewProfil(), null);
}
return pnlAcceuil;
}

Merci!!
mardi 24 février 2009 à 14:47:15 | Re : Ajout JPanel dans un autre JPanel

dvoraky

Salut,

Attention aux accès aux paramètres d'une classe...
Les paramètres doivent être en private et tu fais des getters/setters.
Ca sera plus propre

Ceci dit, je ne trouve aucun intérêt de faire dériver ta classe CreateButton de JPanel si c'est pour rajouter un attribut JPanel à l'intérieur... Ne crois tu pas?

Donc dans ta classe CreateButton, tu fais comme dis cormandyr, tu mets bien le super() en première ligne de ton constructeur et ensuite tu rajoutes tes composants à ta classe CreateButton.
Comme ta classe CreateButton dérive de JPanel, elle se comporte de la même manière! Tu as donc accès aux méthodes add, setLayout...

public class CreateButton extends JPanel { 

   public CreateButton() { 
      super();
      setFont(new Font("Dialog", Font.PLAIN, 12)); 
      setLayout(new FlowLayout()); 
      setBounds(new Rectangle(6, 122, 538, 166)); 
      setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.MAGENTA), "Profils Disponibles")); 
      lbl = new JLabel(); 
      lbl.setBounds(new Rectangle(180, 25, 172, 16)); 
      lbl.setText("OS non trouvé"); 
      add(lbl);
   }
}


 C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...


Cette discussion est classée dans : add, jpanel, pnlacceuil, zonebouton, createbutton


Répondre à ce message

Sujets en rapport avec ce message

Applet qui marche sur JBuilder mais ki s'affiche pas dans la page html ou php... [ par juanpipo ] j'ai bien compilé ma classe, j'ai donc bien chatclient.class et j'ai essaye avec deux versions de la page html, avec ou sans html converter , et aucun JTree [ par demonc ] Voila mon code . bonne chance et merci public class JRep implements ActionListener{ private JButton b1, b2; private JTree TreeLocal, TreeRemote; pri Affichage de mon applet dans la page html [ par juanpipo ] J'ai longtemps bloqué sur l'affichage de mon applet sur JBuilder7 , maintenant que ce problème est résolu j'aimerais arriver à l'afficher dans ma page JPanel [ par javateux ] voila le probleme est tout bete mais pourkoi ca ne marche pas? G mes 4 bouttons qui sont alignés o lieu d'etre placés nord sud est ouest...Code : f.ge Les différentes fenetres d'un projet [ par fred240683 ] Bonjour.Je développe une application dans laquelle à partir d'une fenetre principale j'ouvre diverses fenetres secondaires.J'aimerais que l'on ne puis Création de JDialog [ par fred240683 ] Bonjour .Actuellement je developpe une application de client-serveur style messenger.Voici mon code :JFrame fen=new JFrame("Client"); Je bloque!! [ par Boubousik ] Bonjour à tous,Je suis en train d'apprendre le Java, et cherche à faire un programme contenant plusieurs layouts. Dans le GridLayout, je souhaite fair LAYOUT et positionnement [ par alonsyl ] bonjour,je tente actuellement de m'initier a la creation d'interfaces graphiques et je dois dire que j'ai du mal a jongler avec les LAYOUT. voici ce a reutilisation d'objets [ par alonsyl ] bonjour,je voudrais savoir si il est possible d'utiliser 1 objet puis de le "vider" afin de pouvoir le reutiliser.par exemple dans le prog ci-dessous swing affichage de frame annexe [ par 11rcpc ] Bonsoir,pour une appli je tente depuis une fenetre principale d'ouvrir une frame annexe mais impossible et pourtant le compile me dit okje n'arrive pa


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,328 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales