Comment puis-je créer un réactif de mise en Java Swing
Je suis l'affichage d'une liste de paires clé-valeur dans une balançoire Composite. La clé est affiché dans un JLabel et la Valeur est affichée dans un component swing jtextfield. Il y a assez d'espace sur le panneau d'affichage 1 ou 2 colonnes de paires clé-valeur en fonction de la taille du parent JFrame est. Je voudrais afficher les 2 colonnes de paires clé-valeur, sauf si le panneau est trop petit. Alors je veux passer à une colonne. Est-ce possible dans le Swing sans écrire ma propre mise en page personnalisée manager?
Mettre chaque valeur de la clé de la paire sur son propre panneau et en ajoutant les panneaux à une Disposition de Flux permettrait de faire ce que je veux faire, sauf que les labels ne sont pas alignés les uns avec les autres et les champs de texte ne serait pas aligner les uns avec les autres de sorte qu'il aurait l'air terrible. Est-il une meilleure façon de le faire?
Edit:
Voici à quoi cela allait ressembler. Si le panneau est assez grand, montrent deux colonnes. Sinon afficher une colonne.
2 Colonnes:
Some Key _______________ Key 2 ________________
Another Key _______________ Yet Another Key ________________
Key 5 _______________ Key 6 ________________
1 Colonne
Some Key _______________
Key 2 _______________
Another Key _______________
Yet Another Key _______________
Key 5 _______________
Key 6 ________________
Thompson L'exemple que j'ai donné à cette question est un exemple de combinaison de modèles.
Vous pouvez utiliser un
GroupLayout
comme on le voit dans cette réponse. Il y a d'autres solutions pré GroupLayout
, mais regardez ce que le premier.
OriginalL'auteur Jay Askren | 2013-11-20
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser votre FlowLayout idée et encore faire les étiquettes/textfields gamme. Ajouter une jambe de chaque clé/valeur panneau de la taille de votre plus longue de l'étiquette pour forcer le champ à droite, la même quantité sur chaque panneau. Quelque chose comme:
Pas un grand fan de la Mig. Je suis conscient que certains gourous ici ne jurent que par elle, donc je suis sûr qu'il a ses mérites. Normalement, si je ne GBL code, j'utilise des classes d'assistance que j'ai écrit ce qui permettrait d'éliminer la plupart de la GBL code que vous voyez ici.
OriginalL'auteur splungebob