[Java] Problème avec setLayout

Résolu
yannOpenGL Messages postés 141 Date d'inscription samedi 4 février 2012 Statut Membre Dernière intervention 3 avril 2013 - 25 avril 2012 à 12:06
 Utilisateur anonyme - 26 avril 2012 à 22:00
Bonjour,

je suis entrain de faire un programme en Java avec une interface graphique et j'ai un petit problème avec la fonction setLayout.

Dans une de mes fenêtre j'affiche une JTable et un JButton qui me permet d’accéder à une autre fenêtre.

Si j'utilise :
this.setLayout(new GridLayout(2, 1));

ma fenêtre se partage en 2 et affiche la JTable et dessous le bouton.
Mon problème : le bouton est énorme (même taille que mon tableau.
J'ai essayé différente méthode pour changer sa taille sans succès.

Si j'utilise :
this.setLayout(null);
tableau.setBounds( 20, 20, 500, 1000 );
bouton1.setBounds( 1200, 500, 150, 30 );

le bouton se place idéalement et est à la bonne taille mais le tableau n'apparait plus.

Je préfèrerai utiliser la deuxième solution pour régler exactement comme je veux chaque composant.

Savez-vous pourquoi le tableau (JTable) ne s'affiche plus ?

Merci.
Bonne journée.

3 réponses

cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 12
25 avril 2012 à 12:19
Salut,

Il s'agit d'un soucis provenant du GridLayout...
En effet, ce layout divise l'espace disponible en X*Y cellule de meme taille...
si tu veux garder le meme layout manager, ajoute ton boutton à un panneau et ce panneau à ta fenetre...
3
yannOpenGL Messages postés 141 Date d'inscription samedi 4 février 2012 Statut Membre Dernière intervention 3 avril 2013
25 avril 2012 à 12:25
C'est bon, problème résolu.
C'était le JScrollPane qui posait problème :
this.getContentPane().add(scrollPane);

affiche le tableau comme je veux avec le nom des colonnes et la scrollbar.
3
Utilisateur anonyme
26 avril 2012 à 22:00
C'est bon, problème résolu.

Passe ton sujet en résolu dans ce cas en cliquant sur "Réponse acceptée" ?


--
Pylouq
(Lire le Réglement n'a jamais tué personne, au pire ça a instruit des gens.)
0