Comment arrêter un component swing jtextfield de se re-dimensionnés GridLayout
Je suis entrain de créer une interface graphique avec la grille de mise en page. J'ai ajouté le JTextFields, JButtons et tout à elle DIRECTEMENT. Pour un exemple, comme ça,
JButton b1 = new JButton("Hello"):
JButton b2 = new JButton("Bye");
JTextField t1 = new JTextField(10);
JTextField t2 = new JTextField(10);
GridLayout grid = new GridLayout(2,2,2,2);
JPanel panel = new JPanel();
panel.setLayout(grid);
panel.add(b1);
panel.add(t1);
panel.add(b2);
panel.add(t2);
Ici, si l'utilisateur redimensionne la fenêtre tout semble très grande. Le seul autre moyen que je connaisse pour éviter de les obtenir ces est l'ajout de tous de tous et de tout séparer un Composite qui a FlowLayout. Mais c'est pas pratique parce que si il y a 20 trucs, il y aura 20 JPanels. J'ai essayé de réglage de la taille maximale, la taille minimum et tout, et ils n'ont pas changer tout. S'il vous plaît aider.
vous devez utiliser plus complexe GridBagLayout avec des contraintes ou désactiver le redimensionnement.
Ay, GridBag Mise en page serait la meilleure option, mais personnellement, je n'aime pas jouer avec ça. C'est pourquoi je vais toujours pour les autres mises en page. Cependant, si je ne pouvais pas résoudre ce problème en suivant les réponses, ce serait ma seule option.
GroupLayout
serait un meilleur ajustement pour ce. L'approche naturelle de GridLayout
est de faire tout de la même taille.Ay, GridBag Mise en page serait la meilleure option, mais personnellement, je n'aime pas jouer avec ça. C'est pourquoi je vais toujours pour les autres mises en page. Cependant, si je ne pouvais pas résoudre ce problème en suivant les réponses, ce serait ma seule option.
OriginalL'auteur PeakGen | 2012-06-08
Vous devez vous connecter pour publier un commentaire.
pas possible avec la plaine GridLayout, parce que c'est la caractéristique principale de cette Mise en page du Gestionnaire de
utilisation de la bonne Disposition du Gestionnaire de GridBagLayout ou d'aujourd'hui MigLayout
manière très simple en utilisant SpringLayout
description amusante, alors valable notamment pour le GridBagLayout, btw, si vous avez des doutes, puis de regarder ad MigLayout 🙂
Pas de probs, j'aime toujours le code à la main
Ce marquage comme la réponse. Merci de répondre 🙂
heureux de vous aider
OriginalL'auteur mKorbel
@mKorbel et @Logan ont un point en leurs réponses, mais si pour une raison vraiment vraiment vraiment besoin d'utiliser un GridLayout et vous avez vraiment besoin de le component swing jtextfield pour rester d'une certaine taille, alors vous pouvez le faire en mettant component swing jtextfield à l'intérieur d'un Composite avec un BorderLayout.
Tous nous vous recommandons d'utiliser un gestionnaire de mise en page avancée. Personnellement, j'aime TableLayout, mais vous avez besoin de télécharger un supplément de fichier Jar pour que.
JPanel
par défaut,FlowLayout
, est une alternative.OriginalL'auteur george_h
Qui est le comportement par défaut de gridLayout. Je ne suis pas sûr, il est facile de l'arrêter. Je voudrais utiliser le gridBagLayout à la place. Vous pouvez définir le remplissage à aucun pour chaque cellule. Il est plus difficile au début, mais c'est tout ce que j'utilise maintenant.
OriginalL'auteur Logan