[JAVA] Taille d'un JPanel renvoie 0

MD -  
dumbl Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   723
 
'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   Statut Membre Dernière intervention   122
 
Sinon, affcete une taille fixe (par toi même) grâce à setBounds().
0
choubaka Messages postés 39442 Date d'inscription   Statut Modérateur Dernière intervention   2 105
 
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
MD
 
@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   Statut Membre Dernière intervention  
 
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
MD
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
Il faut utiliser getPreferredSize() pour un JPanel... pas getSize()
0