Die Action-Buttons-css-Stil in JavaFX ControlFX dialog
Habe ich mit ControlsFX-Dialoge zum anzeigen von Informationen, aber die Art meiner Anwendung ist nicht blau, und nicht mit dialog-Stil (Farbe, Rahmen) gibt es eine Möglichkeit, ändern Sie die Schaltfläche Farbe oder Stile?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hinweis
In einer neueren Frage, diesmal bezüglich der neuen
Dialog
API gebündelt mit JDK8u40 frühe Versionen, ich kam mit weniger hacky und mehr "saubere" Lösung, mithilfe von stylesheets anstelle von inline-styles und-lookups.So, ich aktualisiere diese Frage, wie
openjfx-dialogs
ist übrigens noch zu haben Dialoge für die offiziellen releases 8u20, 8u25 und 8u31.Neue Lösung
Anpassen der Standard-Stil, der den dialog mit unseren eigenen css-Datei, die wir brauchen, um zu berücksichtigen, dass der dialog ist in der Tat eine neue Etappe, eine neue Szene, und der root-Knoten ist ein
DialogPane
Instanz.Also haben wir erst einmal einige dialog-Instanz:
können wir den dialog-Bereich und fügen unsere eigenen Stylesheet:
Um zu definieren, unsere Regeln, die wir brauchen, um zu wissen, die Deskriptoren der bereits verwendet wird. Für die, die wir brauchen nur zu schauen, für
dialog.css
Datei in deropenjfx-dialogs.jar
(unter dem Paket com.Sonne.javafx.Szene.Kontrolle.Haut.modena), oder gehen Sie in den source-code an der repository.Nun müssen wir bieten unseren benutzerdefinierte Regeln überschreiben die Standardeinstellungen für
dialog
undalert
class-Selektoren. Die folgenden Regeln haben genau die gleiche Wirkung wie die inline-styiling von meinem ersten Antwort.Da Sie nicht die version, die Sie verwenden, ich gehe mit der neuen OpenJFX-Dialoge-Projekt (Quelle, begann seit 8.20.7 version), das sind übrigens die selben Dialoge haben wir mit JDK8u40.
Erste, lassen Sie ' s fügen Sie einige alert-dialog:
Nun, um Stil in diesem dialog benötigen wir eine Instanz von
DialogPane
, das ist der root-Knoten in einen dialog, in dem der header, der content und die buttons werden angezeigt.Über lookups oder über
getChildren()
es ist leicht zu finden, die diese Komponenten.Dies ist ein Beispiel der Anpassung alle Komponenten des dialogs:
Und das ist, wie es aussieht:
Andere Lösung:
https://bitbucket.org/controlsfx/openjfx-dialogs/src/7273358fd294d486b4959f0c89b24b76c49bec89/src/main/resources/com/sun/javafx/scene/control/skin/modena/dialog.css?at=default