CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Java] GridBagLayout non respecté avec une JTable

Benekiki
Benekiki
Niveau 10
07 mai 2016 à 18:47:42

Bonsoir, j'aimerais afficher le résultat d'un SELECT dans une JTable sur ma JFrame comme sur l'image ci-dessous, mais même en précisant 3 cases de largeur mon tableau ne fait qu'une case de largeur :

http://i.imgur.com/eKQ9AJJ.jpg

Pouvez-vous m'aider ? le code de l'ajout du tableau est surligné

Si vous pouvez aussi me dire comment faire en sorte que les JTextfield A et B fassent la même longueur, c'est moche :(
Ils prennent toutes les deux une case de largeur pourtant.

Merci!
(c'est normal que le résultat n'ai aucun rapport avec les champs)

Message édité le 07 mai 2016 à 18:49:02 par Benekiki
ChampChamp
ChampChamp
Niveau 10
07 mai 2016 à 19:49:25

Bonsoir, je m'y connais très peu là dessus, mais voyons quand même si je peux aider...

Déjà j'avais lu qu'utiliser gridx et gridy avec gridwidth et Gridheight c'était pas l'idéal, je crois qu'il y a une autre façon de faire avec des RELATIVE / REMAINDER, mais bon je ne suis pas sûr que ça soit ça le problème.

Pour A et B il ne faudrait pas utiliser .weightx , avec une même valeur pour chacun des boutons, pour que les deux cellules se répartissent de façon proportionnées ? Et après voir comment A et B occupe l'espace de leur cellule respective (et ça dépend aussi de leur preferredsize il me semble..)

Mais bon, j'avais trouvé que c'était n'importe quoi quand j'ai touché au GridBagLayout, attend peut être quelqu'un qui s'y connait vraiment :noel:

Message édité le 07 mai 2016 à 19:50:47 par ChampChamp
Benekiki
Benekiki
Niveau 10
07 mai 2016 à 20:33:57

Ben s'il existe des trucs comme en Visual basic ou on a juste à déplacer le bouton sur la fenêtre ça m'aiderais parce que c'est la mort là...

J'ai essayé weightx et ça ne change rien :-(

Benekiki
Benekiki
Niveau 10
09 mai 2016 à 17:38:09

up

ElSalad
ElSalad
Niveau 9
11 mai 2016 à 15:11:53

Ben perso j'avais déjà utilisé les gridbag layout et il me semble que tu devrais plutot utiliser un objet Pane plutot qu'un JTable non ? Mais bon je suis pas callé en javafx et ça remonte à quelques mois je me souviens plus très bien. (Ton gridbag fait bien 7 case sur 3 c'est ton jtable qui contient le tout dans une case qu iest trop étirée en hauteur d'ailleurs).

Benekiki
Benekiki
Niveau 10
11 mai 2016 à 17:09:20

C'est la contrainte qui est mise à 7 de hauteur et 3 de largeur pour les prochains composants qui seront ajoutés, je comprends pas trop ton raisonnement ou tu dis que la jtable contient le gridbaglayout...

https://docs.oracle.com/javase/tutorial/uiswing/layout/gridbag.html

Ici par exemple tout marche nickel, tout est proportionnel et pas chez moi :(
Il place les composants directement, aucun JPanel

Message édité le 11 mai 2016 à 17:10:28 par Benekiki
ElSalad
ElSalad
Niveau 9
11 mai 2016 à 17:51:38

Autant pour moi oublie ce que j'ai dit j'étais à coté de la plaque :P
Est-ce que tu pourrais me dire le résultat que tu espérais en mettant gridwidth = 3 et aussi si tu pouvais tracer les lignes du gridbag de façon à voir ce que chaque cellule contient ça m'aiderait pour t'aider avec tes cellules A et B

ElSalad
ElSalad
Niveau 9
11 mai 2016 à 18:01:04

Ce que je peux déjà te dire c'est que je pense que quand tu fais un gridwidth = x
Ce la est calculé en fonction de la ligne du dessus. Ya qu'à voir l'exemple sur la javadoc.
Les boutions 1 à 3 sont sur la ligne 1e ligne.
Le bouton 4 sur la 2e ligne est dans une cellule gridwidth = 3. La largeur de 3 est égale au 3 cellules de la ligne du dessus. (Si la 1 ligne avait contenu 4 bouton, le bouton de la 2e ligne se serait arreté à la fin du 3e)

En lisant ton code j'ai l'impression que ta 1e ligne prend toute la largeur.
La cellule contenant ton JTable est en 2e ligne donc elle va calculer sa largeur de 3 en fonction de la largeur de la 1e et donc ça n'a pas vraiment de sens ici. Donc ta cellule se contente de remplir le reste de la largeur.

D'ailleurs je ne vois pas trop le problème vu que ton JScrollPane s'occupe de diviser ton JTable en 3. Mais faudrait que tu me dises le résultat que tu espérais pour mieux comprendre tes attentes par rapport à ce gridwidth = 3

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment