51 votes

Comment puis-je ajouter un espace entre deux boutons dans un boxLayout?

J'ai quatre boutons dans un groupe BoxLayout. Voici simplement un échantillon de deux car c'est tout du code répété. Je veux créer un léger espace entre chaque bouton afin qu'ils ne se chevauchent pas. J'ai essayé pratiquement chaque méthode dans le .add(Box.Create....) et rien n'a fonctionné.

    enter.add(Box.createVerticalGlue());
    enter.add(Box.createHorizontalGlue()); 
    //enter.add(new JSeparator(SwingConstants.HORIZONTAL));
    JButton float = new JButton("LOWER");
    float.add(Box.createVerticalGlue());
    float.add(Box.createHorizontalGlue());

96voto

COD3BOY Points 7466

Si vous souhaitez avoir de l'espace entre les composants, vous pouvez soit ajouter une bordure vide à un ou aux deux composants, soit insérer des composants invisibles pour fournir de l'espace. Vous pouvez créer des composants invisibles à l'aide de la classe Box.

étant donné que vous avez déjà utilisé de la colle sans succès (je me demande pourquoi ?), vous pouvez essayer quelque chose comme Rigid area,

// Espacement horizontal
container.add(firstComponent);
container.add(Box.createRigidArea(new Dimension(5, 0)));
container.add(secondComponent);

Jetez un œil à Utilisation de composants invisibles comme espaceur qui vous offre de nombreuses options et explications.


INFORMATIONS SUPPLÉMENTAIRES, Depuis Ajouter de l'espace entre les composants,

Trois facteurs influent sur la quantité d'espace entre les composants visibles dans un conteneur :

  • Le gestionnaire de disposition

    Certains gestionnaires de disposition ajoutent automatiquement de l'espace entre les composants ; d'autres non. Certains vous permettent de spécifier la quantité d'espace entre les composants. Consultez la page d'aide spécifique à chaque gestionnaire de disposition pour des informations sur le support de l'espacement.

  • Composants invisibles

    Vous pouvez créer des composants légers qui ne réalisent aucun dessin, mais qui peuvent occuper de l'espace dans l'interface graphique. Souvent, vous utilisez des composants invisibles dans des conteneurs contrôlés par BoxLayout. Consultez Comment utiliser BoxLayout pour des exemples d'utilisation de composants invisibles.

  • Bordures vides

    Peu importe le gestionnaire de disposition, vous pouvez influencer la quantité apparente d'espace entre les composants en ajoutant des bordures vides aux composants. Les meilleurs candidats pour des bordures vides sont des composants qui n'ont généralement pas de bordure par défaut, comme les panneaux et les étiquettes. Certains autres composants pourraient ne pas fonctionner correctement avec des bordures dans certaines implémentations de look-and-feel, en raison de la façon dont leur code de dessin est implémenté. Pour des informations sur les bordures, consultez Comment utiliser des bordures.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X