web-dev-qa-db-fra.com

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

J'ai quatre boutons dans un groupe BoxLayout. Ceci est juste un échantillon de deux parce que tout le code est répété. Je veux créer un léger espace entre chaque bouton afin qu'ils ne se heurtent pas. J'ai essayé pratiquement toutes les méthodes de la .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());
42
Susie

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

comme vous avez déjà utilisé de la colle sans succès (je doute pourquoi?), vous pouvez essayer quelque chose comme Zone rigide ,

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

Jetez un oeil à tilisation de composants invisibles comme remplissage qui vous donne beaucoup d'options et d'explications.


INFORMATIONS SUPPLÉMENTAIRES, De Mettre de l'espace entre les composants ,

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

  • Le gestionnaire de mise en page

    Certains gestionnaires de disposition mettent automatiquement de l'espace entre les composants; D'autres ne le font pas. Certains vous permettent de spécifier la quantité d'espace entre les composants. Consultez la page de procédures de chaque gestionnaire de mise en page pour plus d'informations sur la prise en charge de l'espacement.

  • Composants invisibles

    Vous pouvez créer des composants légers qui n'effectuent aucune peinture, 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. Voir Comment utiliser BoxLayout pour des exemples d'utilisation de composants invisibles.

  • Bordures vides

    Quel que soit le gestionnaire de disposition, vous pouvez affecter l'espace apparent entre les composants en ajoutant des bordures vides aux composants. Les meilleurs candidats pour les bordures vides sont les composants qui n'ont généralement pas de bordure par défaut, tels que les panneaux et les étiquettes. Certains autres composants peuvent ne pas fonctionner correctement avec les bordures dans certaines implémentations d'aspect, en raison de la façon dont leur code de peinture est implémenté. Pour plus d'informations sur les bordures, consultez Comment utiliser les bordures .

76
COD3BOY