2016-07-18 1 views
-2

Je travaille sur le java swing et je suis coincé avec une disposition d'interface utilisateurMise en page du composant Java UI

Ma sortie actuelle est comme ci-dessous.

enter image description here

Je veux modifier un lil et ajouter 2 entrées texte entre comme indiqué dans l'échantillon ci-dessous. S'il vous plaît aidez-nous sur la façon d'obtenir les entrées de texte côte à côte.

enter image description here

Répondre

2

tout d'abord: Vous devriez vraiment donner à vos composants noms plus parlants que jComboBox2.

Votre image d'exemple n'est pas si simple à produire avec GridBagLayout. Vous devez comprendre que la mise en page va créer une grille n * m et vous pouvez mettre vos composants (comme les champs de texte, les étiquettes, les comboboxes, etc.) librement n'importe où dans cette grille. Par exemple, votre jLabel4 est à la position 0/3 dans la grille et bien que je ne sois pas vraiment sûr de la grille de -1, je suis sûr qu'il est toujours à 0/3. Si la grille était par exemple de 3, votre jLabel4 s'étendrait de 0/3 à 2/3. Donc, si vous voulez mettre quelque chose entre ces deux lignes, vous devrez le placer aux bonnes coordonnées de la grille et lui donner la bonne largeur et la bonne hauteur. MAIS: Pour l'obtenir exactement comme dans votre image, vous devez utiliser quelques astuces (par exemple, augmenter la largeur de la grille des composants supérieurs et inférieurs ou ajouter un autre panneau contenant les nouveaux composants de ligne au lieu des composants eux-mêmes). Essayez de le faire fonctionner (même s'il ne ressemble pas exactement à votre image) sans ces astuces d'abord car cela pourrait vous aider à comprendre comment fonctionne réellement GridBagLayout. Dès que vous comprenez vraiment cela, il ne devrait pas être si difficile de recréer votre image.

+0

Comme c'est un programme d'exemple ont donné des noms de composants génériques. Oui, je suis conscient d'utiliser un autre panneau à l'intérieur de ce panneau et de placer mes composants à l'intérieur du nouveau panneau. Je voulais juste savoir si la même chose peut être réalisée de toute autre manière aussi. – pankti

+0

@pankti: Non. JPanel à l'intérieur de JPanel est la seule façon possible de créer votre mise en page. –

+0

Eh bien, en ce qui me concerne, c'est un exemple de programme pourrait même augmenter le besoin de noms qui ont du sens, mais d'accord. Il n'est pas techniquement vrai que la création d'un autre panneau est la seule possibilité. C'est juste (probablement de loin) le moins compliqué et le plus ennuyeux: D – Mark