Comment faire pour modifier l'en-tête de la composante dans TitledPane en JavaFX
Je ne trouve pas de réponse à propos de ce n'importe où sur internet.
J'ai une application qui a pour avoir rétractables panneaux, de sorte que le TitledPane et de l'Accordéon set-up en Java FX est un candidat naturel.
Dans l'application, j'ai besoin d'avoir des en-têtes personnalisés pour le conteneur quand il s'est effondré. Je vois dans le document css pour la TitledPane que le header est vraiment une HBox et une variété d'autres composants.
http://docs.oracle.com/javafx/2/api/javafx/scene/doc-files/cssref.html#titledpane
Je voudrais accéder à ce composant et de le remplacer par un composant personnalisé.
J'ai été en utilisant le TitledPane de l'api de setGraphic fonction et setContentDisplay à GraphicOnly. avec un composant personnalisé. Cependant, je ne parviens pas à afficher correctement. J'ai eu des problèmes avec la suppression de la flèche, et la suppression de l'espace occupé par la flèche.
Voir le lien ci-dessous pour les captures d'écran de l'aspect souhaité et à quoi elle ressemble vraiment.
Comment supprimer la flèche et retirez le rembourrage?
OriginalL'auteur Dan Bucholtz | 2012-08-01
Vous devez vous connecter pour publier un commentaire.
TitledPane est une étiquette, de sorte que vous pouvez définir un graphique sur elle dans un auditeur ou une liaison à la élargi propriété.
De changer les couleurs de fond, etc (y compris primordial style de l' :concentré pseudo-classe) est quelque chose qui peut être accompli via css (reportez-vous à la TitledPane section de la de la mer caspienne.css feuille de style dans jfxrt.jar pour des exemples).
Si vous avez besoin d'un code de base d'accès à des sous-composantes de la TitledPane, vous pouvez utiliser le recherche en fonction après la TitledPane a été ajouté à une Scène montrée sur une Scène.
Je vous conseille d'essayer le graphique/css feuille de style en fonction des approches avant d'essayer une recherche.
Si vous n'avez pas besoin de l'étiquette pour afficher le texte puis il affiche un graphique uniquement.
Voici un exemple de code qui affiche un TitledPane avec une personnalisation de l'en-tête de côté d'un TitledPane sans un en-tête personnalisé.
Et un peu de css pour aller avec elle:
Vous avez besoin d'être plus explicite dans votre question, ce que votre comportement souhaité est - une maquette de l'image peut vous aider. Le TitledPane est personnalisable dans de nombreuses façons. J'ai mis à jour ma réponse à inclure certains détails à l'exemple de code. Normalement ça devrait être suffisant pour vous d'être en mesure de réaliser la personnalisation que vous cherchez.
Wow, c'était une incroyable réponse. Je vais essayer et vous tenir au courant. J'ai vraiment l'apprécier. Merci!
Je suis toujours avoir des problèmes avec la flèche. J'ai mis à jour le post original. Fondamentalement, ce lien montre où j'en suis (sur le dessus) et où je veux être (en bas). Ignorer le style comme la couleur du texte, police, fond dégradé, etc. Surtout, je veux maj tout x pixels et de se débarrasser de la flèche et/ou déplacer la flèche vers la droite.
J'ai mis à jour l'échantillon pour inclure un TitledPane la personnalisation par jour pic dans la mise à jour de question.
OriginalL'auteur jewelsea
(Déplacé réponse à la question)
C'est la réponse:
Pour supprimer la flèche, ajoutez cette déclaration CSS:
Ci-dessus CSS extrait de supprimer la flèche, mais l'espace pour la flèche est toujours occupée. C'était vraiment difficile et je ne pouvais pas le trouver documenté n'importe où sur internet, mais j'ai appliqué cette déclaration CSS et il enlevé le fossé de la flèche.
Cela peut ne pas être la meilleure solution, mais c'est une solution qui a fonctionné pour mes besoins.
OriginalL'auteur
Dans le présent jour, à la fin de 2018 rien de ces solutions travaille avec JavaFX de JDK 1.8. J'ai donc travailler sur une solution simple. Vous pouvez copier cette méthode et de l'utilité de la classe:
OriginalL'auteur GaRzY
C'est comment vous retirez la flèche:
OriginalL'auteur Uvichy