changer la couleur du texte d'un contrôle de Menu dans JavaFX avec FXML/CSS
Je veux changer la couleur du texte de la Menu de contrôle dans JavaFX. Actuellement, la couleur de fond de l'ensemble de la Barre de Menu est définie sur le blanc et la couleur du texte par défaut pour l'affichage des Menu-s est également blanc, donc je ne vois pas le contrôle réel, donc je veux mettre de la couleur du texte de la Menu ("Fichier") à la noire. Comment dois-je faire?
Voici la FXML partie:
<?import java.lang.*?>
<?import java.net.*?>
<?import java.util.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.paint.*?>
<AnchorPane id="AnchorPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns:fx="http://javafx.com/fxml">
<children>
<MenuBar id="modBar" layoutX="176.0" layoutY="122.0" styleClass="modBar">
<menus>
<Menu id="modItem" mnemonicParsing="false" styleClass="modItem" text="File" />
</menus>
<stylesheets>
<URL value="test.css" />
</stylesheets>
</MenuBar>
</children>
</AnchorPane>
Voici la CSS partie:
.modBar
{
-fx-background-color: white;
}
.modItem
{
-fx-color: black;
}
Cela ne fonctionne pas ("Fichier" reste blanc). Ce que je fais mal? Aussi, une autre chose est que je n'arrive pas à appliquer rien avec CSS pour .modItem - il sorte de travaux dans Scène Constructeur, mais disparaît une fois visionnés (également les "feuilles de style" sélecteur est manquant sur tous les Menu-s en SB).
OriginalL'auteur XXL | 2012-06-15
Vous devez vous connecter pour publier un commentaire.
OK, je pense avoir trouvé la réponse. Ce que j'ai fait a été extrait de la mer caspienne.css de jfxrt.jar (la valeur par défaut CSS thème JavaFX utilise) et d'inspecter tout ce qui a trait à Menu-s:
Cette influence tous Menu contrôles.
Par la route, il y avait un particulier construire de Scène Constructeur que cela pourrait venir d'intérêt - b42, cela a eu un supplémentaire CSS menu qui a exposé les styles internes de contrôles/éléments, de sorte que la personnalisation se transforme en une opération simple (sans la nécessité préalable de l'extraction manuelle du style appliqué).
OriginalL'auteur XXL
Je ne suis pas sûr, mais vous définissez l'attribut id - ne veut pas dire que vous ne pouvez y accéder via
#modBar
ou
#modItem
???
Je suis aussi tout à fait nouveau pour JFX2 (environ un mois) et malheureusement dans toutes mes années en tant que développeur Java, je n'ai jamais besoin de jouer avec le css, donc c'est juste une hypothèse.
OriginalL'auteur dzim