[JAVA] Taille d'un JPanel renvoie 0

Fermé
MD - 14 nov. 2009 à 23:04
dumbl Messages postés 1 Date d'inscription jeudi 6 mars 2014 Statut Membre Dernière intervention 6 mars 2014 - 6 mars 2014 à 01:17
Bonjour,
Je travaille actuellement sur un emploi du temps que je réalise en Java et je bloque sur quelque chose d'essentiel...
Ma semaine est un JPanel auquel j'ai appliqué un GridLayout(1,5) et j'ai un JPanel[] pour chacun des 5 jours. Je dois récupérer la taille de ce dernier JPanel.

Le problème est que quand je veux récupérer sa taille (grâce aux méthodes getSize, getHeight ou getWidth) celle-ci est de 0... Avez vous une idée?

Merci de votre réponse!
A voir également:

8 réponses

sandul Messages postés 3927 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 723
15 nov. 2009 à 00:10
'Soir,

Essaie de récupérer la taille après l'affichage (setVisble(true)), pas avant.

++
4
tarek_dotzero Messages postés 817 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 12 avril 2022 122
15 nov. 2009 à 01:14
Sinon, affcete une taille fixe (par toi même) grâce à setBounds().
0
choubaka Messages postés 39422 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 28 mars 2025 2 104
15 nov. 2009 à 11:17
salut

je sais que getSize() de JPanel te renvoie un objet de type Dimension. Dans ce cas, l'objet dimension te donne les méthodes getHeight et getwidth qui elles te renvoient un double.
0
@sandul: J'ai essayé ce que tu m'as dit, rien à faire, la taille récupérée reste de 0...

@tarek_dotzero: J'ai essayé ce que tu m'as dit (juste pour un test étant donné que cette taille doit être variable) et il récupère bien la taille (par exemple setBounds(10,10,500,100) me renvoie 500 et 100)...

@choubaka: Oui, j'ai vu ça dans la javadoc, mais il n'y a aucune information concernant mon problème...


Sinon je pensais, peut-être que c'est à cause du GridLayout, n'y a t-il pas des méthodes permettant de récupérer une taille définie par un GridLayout?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ProgMad Messages postés 88 Date d'inscription dimanche 4 mai 2008 Statut Membre Dernière intervention 15 août 2010
15 nov. 2009 à 14:16
salut

Pour la largeur , ce sera surement la largeur du JPanel auquel tu as appliqué le GridLayout(1,5).

Pour la longueur , ce sera surement la longueur du JPanel auquel tu as appliqué le GridLayout(1,5) diviser par 5.

A+
0
J'ai essayé ce que tu m'as dit, mais je n'arrive pas non plus à récupérer la taille des JPanel supérieurs...
0
ProgMad Messages postés 88 Date d'inscription dimanche 4 mai 2008 Statut Membre Dernière intervention 15 août 2010
15 nov. 2009 à 15:05
salut

pour mettre ton tableau de JPanel[] dans la première case de ton gridLayout(1 , 5) tu utilise surement un autre JPanel j.

pour récupérer la taille de ce dernier , tu doit lui donner au préalable une dimension comme ceci :

     j.setSize(new Dimension(100 , 100)); //tu peut lui donner ce que tu veut comme dimension


Après pour récupérer la largeur et la longueur :

     System.out.println("largeur = "+j.getSize().getHeight()); ....


la taille variera selon le redimensionnement de la fenêtre .

A+
0
dumbl Messages postés 1 Date d'inscription jeudi 6 mars 2014 Statut Membre Dernière intervention 6 mars 2014
6 mars 2014 à 01:17
Il faut utiliser getPreferredSize() pour un JPanel... pas getSize()
0