Swing

samkiwidouch Messages postés 18 Date d'inscription vendredi 20 janvier 2012 Statut Membre Dernière intervention 16 mai 2012 - 26 févr. 2012 à 12:02
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 - 29 févr. 2012 à 10:42
bonjour à tous s'il vous plait aidez mois j'ai entrain d'écrire un programme pour créer une carte badge par exemple carte d'étudiant .le problème se présente lors de la grandiosement de frame les composants ajoutés comme les label par exemple ne reste plus dans la bonne place
voici le code

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Badge extends JFrame {
JLabel l1, l2, l3, l4, l5, l6;
JPanel p, p1, pp;
JTextField t0, t1, t2, t3;

Badge() {
setSize(200, 100);


l1= new JLabel(" Carte d'Adhérent");//l'espace ici pour mettre l'écriture au centre
l2= new JLabel(" Année Universitaire");
p1 = new JPanel();
p1.setLayout(new GridLayout(2, 1));
p1.add(l1);
p1.add(l2);

p = new JPanel();
p.setLayout(new BorderLayout());
p.add(p1, "North");
add(p);

l3 = new JLabel("Carte d'Identité Nationale");
l4 = new JLabel("Nom");


l5 = new JLabel("Prénom");
l6 = new JLabel("Date de Naissance");

pp = new JPanel();
pp.setLayout(new GridLayout(4, 2));

JTextField a1 = new JTextField(5);

pp.add(l3);
pp.add(a1);


JTextField a2 = new JTextField(5);

pp.add(l4);
pp.add(a2);

JTextField a3 = new JTextField(5);

pp.add(l5);
pp.add(a3);

JTextField a4 = new JTextField(5);

pp.add(l6);
pp.add(a4);

add(pp, "South");
this.setBackground(Color.WHITE);
setVisible(true);
pack();

}

public static void main(String args[]) {
Badge b= new Badge();

}
}




alors que je voudrais conserver les même place pour ces composants (au centre ) mon enseignant me conseille d'utiliser la méthode paint(Graphics g)et drawXXX mais je ne trouve aucun résultat s'il vous plait aidez moi et merci beaucoup.

2 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
26 févr. 2012 à 12:42
Bonjour,

Je te déconseille de mettre tout ca dans ta méthode paint. C'est une très mauvaise idée.

Je dirais que ce que tu as fait est correct.

Si tu veux entrer les positions de tes composants à la main, tu peux faire un setLayout(null); et placer tes composants à l'aide de composant.setBound(x, y, width, height); avant de faire le add()
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
29 févr. 2012 à 10:42
Est ce que tu t'en sort ?
0
Rejoignez-nous