Comment faire JLabels commencer sur la ligne suivante
JPanel pMeasure = new JPanel();
....
JLabel economy = new JLabel("Economy");
JLabel regularity = new JLabel("Regularity");
pMeasure.add(economy);
pMeasure.add(regularity);
...
Lorsque j'exécute le code ci-dessus, j'obtiens cette sortie:
Economy Regularity
Comment puis-je obtenir cette sortie, où chaque JLabel commence sur une nouvelle ligne? Grâce
Economy
Regularity
Double Possible de ajouter des contrôles à la verticale au lieu d'horizontale à l'aide de flux de mise en page
OriginalL'auteur Jessy | 2009-10-08
Vous devez vous connecter pour publier un commentaire.
Vous aurez envie de jouer autour avec gestionnaires de disposition pour contrôler le positionnement et le dimensionnement des commandes de votre
JPanel
. La disposition des gestionnaires sont responsables de la mise en œuvre de contrôles, de déterminer où ils vont, comment ils sont gros, la quantité d'espace entre eux, ce qui se passe lorsque vous redimensionnez la fenêtre, etc.Il y a des tonnes de différents gestionnaires de disposition qui vous permettent de commandes de mise en page de différentes manières. La mise en page par défaut du gestionnaire est
FlowLayout
, qui comme vous l'avez vu se contente de placer les composants les uns à côté des autres de gauche à droite. C'est le plus simple. D'autres gestionnaires de disposition sont:GridLayout
- organise les composants dans une grille rectangulaire à égalité de taille des lignes et des colonnesBorderLayout
a une composante principale dans le centre et jusqu'à quatre composants environnants ci-dessus, ci-dessous, à gauche et à droite.GridBagLayout
- la Grosse Bertha de toutes gestionnaires de disposition, c'est la plus flexible, mais aussi la plus compliquée à utiliser.Vous pourriez, par exemple, utiliser un BoxLayout à la disposition de l'labels.
Un exemple de code à l'aide de
BoxLayout
serait:OriginalL'auteur John Kugelman
J'ai lu ce morceau de code:
Il semble BoxLayout n'est pas VERTICALE. Sur la recherche, cela fonctionne en utilisant le code suivant:
pMeasure.setLayout(new BoxLayout(pMeasure, BoxLayout.Y_AXIS));
résout pour moi. Verticalement fixe-tous les composants dans le Composite.OriginalL'auteur princepiero
Ici est que vous devez utiliser:
OriginalL'auteur Emir
Un moyen rapide est d'utiliser de l'html dans le JLabel.
Par exemple inclure le
<br/>
tag.Autrement, de mettre en œuvre un BoxLayout.
OriginalL'auteur waqasahmed
Faire un autre Composite pour chaque ligne, et de définir les dimensions pour s'adapter à chaque mot:
Cela devrait fonctionner pour chaque mot. Vous pouvez ensuite ajouter de chacun de ces JPanels à votre principal Composite. Cela vous permet également d'ajouter d'autres composants à côté de chaque mot.
OriginalL'auteur user3170404