Java Swing - JLabel Emplacement
J'ai un problème lors du réglage de la Jlabel emplacement.
- Je régler le volet de contenu pour certains Composite, j'ai créé et essayé d'ajouter mon JLabel.
JLabel mainTitle = new JLabel("SomeApp");
mainTitle.setFont(new Font("Arial",2 , 28));
mainTitle.setBounds(0,0, 115, 130);
getContentPane().add(mainTitle);
Je veux que mon Composite sera sur le coin en haut à gauche sur ma demande et ce que je reçois est "SomeApp" en haut au centre.(et pas en haut à gauche).
btw j'ai essayé d'ajouter JButton la et la je ne peux pas changer la largeur,la hauteur,x,y de la JButton.
OriginalL'auteur Yosi | 2010-07-19
Vous devez vous connecter pour publier un commentaire.
Swing utilise Gestionnaires De Disposition de placer les composants.
Vous devez comprendre comment ils fonctionnent pour les utiliser efficacement. Vous pouvez définir le layout manager à null, et faire la mise en page de votre auto, mais n'est pas recommandable, parce que vous allez avoir à garder une trace de nouveaux composants à chaque fois, et effectuer la mise en page de calcul de votre auto lorsque la fenêtre se déplace rétrécir etc.
Gestionnaires de disposition sont un peu difficile à saisir au premier abord.
Votre windows pourrait être comme ceci:
aussi simple que cela http://img827.imageshack.us/img827/7043/capturadepantalla201007z.png
L'aide de ce code:
OriginalL'auteur OscarRyz
Où un widget en particulier finit dans son conteneur dépend de la configuration du gestionnaire qu'il utilise. Le layout manager détermine comment redimensionner et réorganiser les widgets afin de les faire correspondre de façon appropriée. De toute évidence, la mise en page par défaut pour le volet de contenu a décidé que le centre supérieur est le meilleur endroit pour mettre le JLabel.
Si vous souhaitez obtenir de ne pas utiliser un layout manager et il suffit de placer tout vous-même (ce qui n'est généralement pas la meilleure façon de poser les choses btw), puis d'ajouter:
OriginalL'auteur Jonathan M Davis
À l'aide de mises en page est généralement une meilleure idée, car ils permettent de modifier dynamiquement la taille des composants. Voici comment vous pouvez le faire avec un BorderLayout:
Si vous voulez ajouter quelque chose à la droite de l'étiquette, vous pouvez créer un panneau additionnel avec sa propre mise en page :
Voici quelques liens utiles pour commencer avec des mises en page:
http://download.oracle.com/docs/cd/E17409_01/javase/tutorial/uiswing/layout/visual.html
http://download.oracle.com/docs/cd/E17409_01/javase/tutorial/uiswing/layout/using.html
Utiliser une bordure personnalisée pour ça: download.oracle.com/docs/cd/E17409_01/javase/tutorial/uiswing/...
Habituellement, lorsque je utiliser des mises en page j'essaie de ne jamais spécifier codé en dur tailles sauf h et v lacunes. J'utilise à la place BorderLayouts à pousser les choses autour de l'écran de sorte qu'ils finissent là où je veux. Si vous regardez les images pour BorderLayouts dans le premier lien, vous verrez que tout ce qui a chuté dans le NORD de l'emplacement de l'ensemble de l'espace de longueur et seulement ce qui est nécessaire en hauteur sage. Alors disons que je veux pousser l'étiquette vers la droite, je viens de créer un nouveau groupe et ajouter l'étiquette de la région de l'EST, effectivement, le poussant vers la droite. Pour la pousser vers la gauche, utilisez l'OUEST.
OriginalL'auteur ZeBlob