Le positionnement des composants dans les Interfaces graphiques Swing

J'ai quelques questions sur le positionnement des composants et quelques questions sur les champs de texte et les zones de texte (Java Swing). Toute aide est grandement appréciée.

Droit maintenant, je suis en train d'avoir deux champs de texte à côté de l'autre avec une étiquette différente au-dessus de chaque décrivant ce que le champ de texte. Pour réaliser cela, je l'ai placé dans un GridLayout(2, 2).

  1. Est-ce la meilleure façon de faire? C'est le seul moyen que je connais pour avoir une étiquette directement sur un autre composant. Est-il un meilleur moyen? Ce sujet s'il y a une étiquette au-dessus d'un bouton. Est-il raisonnable de cette position par le biais d'un GridLayout(2, 1)? Je suis malvoyant, donc je ne pense pas que le positionnement des boutons de par leur position d'un pixel est une option, sauf si il ya un moyen simple de placer les composants à un nombre relatif de pixels à un autre composant.
  2. Qui m'amène à ma prochaine question.
    Quel est le meilleur moyen d'avoir la même INTERFACE utilisateur que ci-dessus mais avec un autre composant (bouton) centré sous. Essentiellement, l'INTERFACE utilisateur doit composer de deux champs de texte avec un bouton calculer. La j'ai fait, c'est en mettant les éléments ci-dessus dans un panneau, et en ajoutant qu'en plus le bouton calculer pour un panneau avec un GridLayout(2, 1). Le problème est que le bouton devient aussi grand que le panneau au-dessus d'elle (je suppose). Comment puis-je régler cela et j'ai toujours le bouton parfaitement alignés sous le panneau de champs de texte/d'étiquettes? De la même façon avec les étiquettes au-dessus des zones de texte. L'étiquette doit être petite, mais avoir un espace plus grand pour la zone de texte.
  3. (champ texte):
    Faisant de nouveau référence à l'INTERFACE ci-dessus, si l'utilisateur tape un nombre de caractères dans le premier champ de texte, les lettres d'aller sur le champ de texte sur la droite? Si oui, comment puis-je éviter cela?
  4. Si j'ai ajouter du texte à une zone de texte et il est déjà plein, il sera automatiquement permettre à l'utilisateur de faire défiler? Si non qu'est ce qu'un simple moyen de rendre la zone de texte déroulante?
  5. Droit maintenant, je ne suis pas un paramètre de la taille de la zone de texte. Est-il juste de grandir comme je l'ai ajouter du texte? A-t-elle une taille par défaut comme dans nombre de caractères?
Toutes ces questions trouvent une réponse dans le Swing tutoriel. Voir docs.oracle.com/javase/tutorial/uiswing/layout/index.html et docs.oracle.com/javase/tutorial/uiswing/components/....

OriginalL'auteur Saad Attieh | 2012-12-26