Java ajoute JButton sur JPanel
Résolu/Fermé
A voir également:
- Java ajoute JButton sur JPanel
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Eclipse java - Télécharger - Langages
- Java runtime environment - Télécharger - Langages
2 réponses
Bonjour,
Merci, j'ai bien rajouté le layout manager (ce qui va rendre les choses plus jolies), mais en fait le problème se corrige en faisant un this.setVisible(true) - avec this = ma JFrame.
Autre solution : redimensionner la fenêtre à la main et le bouton apparaît.
Est-ce que vous savez comment on peut faire quand le JPanel se trouve dans un JPanel et qu'on n'a donc pas accès à la JFrame sous-jacente (this.setVisible ne marche pas pour les JPanel).
Merci.
Gennosuke
public class FrameAddButton extends JFrame {
/**
* @param args
*/
public JPanel fond = new JPanel();
public JPanel gauche = new JPanel();
public JPanel droite = new JPanel();
public JButton ajouteBouton = new JButton("Ajout bouton");
public JButton nouveauBouton = new JButton("coucou");
FrameAddButton()
{
this.setContentPane(fond);
this.setSize(300, 300);
fond.setLayout(new BorderLayout());
gauche.setBackground(Color.yellow);
gauche.add(ajouteBouton);
droite.setBackground(Color.green);
ajouteBouton.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
droite.add(nouveauBouton);
droite.setBackground(Color.red);
setVisible(true);
}
});
fond.add(gauche, BorderLayout.WEST);
fond.add(droite, BorderLayout.CENTER);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
FrameAddButton fenetre = new FrameAddButton();
}
}
Merci, j'ai bien rajouté le layout manager (ce qui va rendre les choses plus jolies), mais en fait le problème se corrige en faisant un this.setVisible(true) - avec this = ma JFrame.
Autre solution : redimensionner la fenêtre à la main et le bouton apparaît.
Est-ce que vous savez comment on peut faire quand le JPanel se trouve dans un JPanel et qu'on n'a donc pas accès à la JFrame sous-jacente (this.setVisible ne marche pas pour les JPanel).
Merci.
Gennosuke
public class FrameAddButton extends JFrame {
/**
* @param args
*/
public JPanel fond = new JPanel();
public JPanel gauche = new JPanel();
public JPanel droite = new JPanel();
public JButton ajouteBouton = new JButton("Ajout bouton");
public JButton nouveauBouton = new JButton("coucou");
FrameAddButton()
{
this.setContentPane(fond);
this.setSize(300, 300);
fond.setLayout(new BorderLayout());
gauche.setBackground(Color.yellow);
gauche.add(ajouteBouton);
droite.setBackground(Color.green);
ajouteBouton.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
droite.add(nouveauBouton);
droite.setBackground(Color.red);
setVisible(true);
}
});
fond.add(gauche, BorderLayout.WEST);
fond.add(droite, BorderLayout.CENTER);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
FrameAddButton fenetre = new FrameAddButton();
}
}
does01
Messages postés
122
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
5 avril 2010
12
18 mars 2009 à 09:33
18 mars 2009 à 09:33
1er tu peux pas voir les deux buttons sans utilisé un manager dc esae d'utulise setLayou(new grideLayout(pramater1,parametre2)
pramater1 un int
parametre2 un int aussi
et pour changer couleur de la panel il faut que tu ajoute un méthode avant droite.setBackground(Color.red);
c droit.setOpaque(boolean) c la reponse je souhaite que ca va t'aide
pramater1 un int
parametre2 un int aussi
et pour changer couleur de la panel il faut que tu ajoute un méthode avant droite.setBackground(Color.red);
c droit.setOpaque(boolean) c la reponse je souhaite que ca va t'aide
19 mars 2009 à 21:51
Je clos ce problème, merci pour votre aide, la solution que j'ai finalement adoptée (et qui est celle qui résoud mon problème), c'est la méthode updateUI() qui fait apparaître mes boutons comme par miracle !
Gennosuke