J'essaie de mettre deux boutons à l'intérieur d'un panneau à l'aide de widgets de swing. À l'intérieur de NetBeans IDE, mon Néanmoins une ligne apparaît. Ce n'est pas ce que j'attendrais d'un objet séparateur. Est-ce que je fais quelque chose de mal? Venant d'un antécédent à Delphi, et C # Winforms, je m'attends à trouver des bizarreries en swing. Mais comment effectuez-vous exactement un écart transparent d'une taille particulière, entre deux boutons d'un panneau? Dois-je jouer avec des mises en page et éviter le Mise à jour: strong> Il devrait être trivial pour le faire avec une mise en page et sans aucun objet séparateur. Alors, comment faites-vous cela? Je regarde dans l'inspecteur de Customizer et de propriétés de la mise en page NetBeans et je ne trouvant aucun moyen de le faire. (Réponse: mises en page à l'encontre, au lieu de séparateurs.) P> JSEparator code>
La propriété code> est défini sur
(pas de bordure) code> dans le volet Propriétés. P>
jsparator code>? P>
4 Réponses :
du Javadoc pour JSEparator fournit une composante à usage général pour la mise en œuvre de lignes de division - le plus couramment utilisé comme diviseur entre les éléments de menu qui les enfreint en groupements logiques. P>
blockQuote>
Si vous souhaitez mettre un composant entre deux composants invisibles, utilisez simplement un jséparator code> est censé être un séparateur visible entre les composants. P>
JSEparator < / code>
: p>
jPanel code> à la place. Ensuite, réglez la taille du panneau avec
SetPreferedSize () CODE> et
SETMIN / MAXSIZE () CODE>. P>
Dans la plupart des environnements autres que Java, la possibilité de faire disparaître cette ligne aurait été envisagée. Parce que ce n'était pas considéré par ces gars.
Au contraire, vide Boîte CODE> Éléments et
INSSTÈRES CODE> sont créés pour ce but. Il a été pris en compte, tout simplement pas en utilisant
jsparator code>
Ah oui. Les encadrements sont parfaits pour mes utilisations, et la boîte et CreateHorizontalsTrut suffiraient probablement toute autre application. Maintenant je suis éclairé. Merci.
Vous n'avez pas besoin de jsparator. La plupart des mises en page vous permettent de définir l'écart (espace) entre les composants. Et la classe de boîtes peut être particulièrement utile. P>
Comment puis-je avoir une mise en page de boîte avec deux boutons dedans avec au moins 10 pixels entre chaque bouton? Je ne peux pas sembler avoir ça.
BOX.CREATHORIZONTABUT (10) CODE> Entre les boutons, dans un
FlowLayout code>.
Frais. L'autre gars a mentionné que, en code, mais j'essayais de le faire de l'IDE (Netbeans). S'avère que vous pouvez le faire visuellement dans le gestionnaire de mise en page en ajustant "Incarts".
Je serai toujours connu sous le nom de "l'autre gars" :-(
Vous devez consulter les méthodes utilitaires statiques sur le Ceci produit plus de code compact que de créer / configurer un boîte code>
classe. Ils peuvent être utilisés pour fabriquer des jambes de force fixes qui agissent comme des séparateurs invisibles; E.g. jPanel code> avec des dimensions minimales, maximales et préférées appropriées. P> P>
Je pense que ce code, et le JPanel pourrait être plus de douleur à long terme, en tant que pratique standard, que l'utilisation appropriée des mises en page.
@Warren P: Selon le gestionnaire de présentation que vous utilisez, ce code pourrait être i> une utilisation appropriée des mises en page. Différents responsables de la mise en page ont des moyens très différents de la réalisation du même résultat.
"Utilisation appropriée des présentations" dans mon cas, signifie "Utiliser le gestionnaire de mise en page Netbeans au lieu de générer mon propre code, tandis que j'apprends toujours Netbeans, balancer et brosser mes connaissances linguistiques de Java stables". ;-)
Rien de dire que l'utilisation d'une jambe horizontale n'est pas une utilisation appropriée des mises en page; J'ai généralement utilisé cette approche des boutons d'espace sur une barre JTOOL. Par exemple, dans une application de traitement de texte, il peut être courant d'ajouter une petite jambe de force à séparer les catégories de bouton.
C'est la meilleure réponse si vous me demandez
Utilisation de Addsparator avec une valeur de 1 pour la hauteur le rend invisible pour moi, par exemple:
MyJToolBar.addSeparator(new Dimension(20, 1));
Est "(pas de frontière)" NULL ou un objet représentant une frontière vide?
null code> est la bordure par défaut de l'UI
Au fait, si vous vouliez vraiment faire cela, vous auriez besoin de remplacer le code JSEnerator et de ressentir le code pour ne rien peindre. Les lignes ne sont pas la frontière.
JSEparator a été inventé pour créer des séparateurs visibles. Vous ne voulez pas de séparateur - vous voulez un SEPARA tion i>, réalisable par l'une des nombreuses méthodes ci-dessous.