2016-04-19 11 views
3

Auf den JavaFX CSS Reference Guide ich die folgende Erklärung finden:Naming von CSS-Eigenschaft Namen für JavaFX

Namenskonventionen festgelegt wurden CSS-Stil Klassennamen von JavaFX-Klassennamen für die Ableitung und CSS-Eigenschaftsnamen von JavaFX Variable zum Ableiten Namen. [...] Die Konvention zum Zuordnen von JavaFX-Variablennamen zu CSS-Eigenschaftsnamen ist ähnlich, mit dem Zusatz "-fx-". Die Variable blendMode hätte beispielsweise den entsprechenden CSS-Eigenschaftennamen "-fx-blend-mode".

Ich bin mir nicht sicher, ob ich das richtig verstehe.

Ich gebe einigen meiner Kontrollen die Möglichkeit, über CSS auch konfiguriert werden. Zum Beispiel kann ich in einem Zahlenfeld die untere und obere Grenze für den einstellbaren Wert, das Anzeigeformat (Integer, Dezimal, wissenschaftlich), die Einheit, die in der Steuerung angezeigt wird, usw. einstellen. Sollte ich sie benennen, laut vorstehenden Absatz, wie

-fx-lower-boundary 
-fx-upper-boundary 
-fx-unit 
-fx-mode 

oder ist dieser Absatz nur das Verhalten der Kontrollen aus der Standardbibliothek beschreiben und ich soll einen Anbieter Präfix unterscheidet sich von -fx- (wie mein Firmenname) wählen?

+1

In der [Dokumentation] (http://docs.oracle.com/javase/8/javafx/api/javafx/css/package-summary.html) für Klassen im Paket 'javafx.css' die Beispiele Verwenden Sie in der Regel ein Präfix "-my -...", das (sozusagen) vorschlägt, dass Sie Ihr eigenes Präfix verwenden sollen. Ich kenne keine definitive Antwort. –

+0

@James_D Tatsächlich. Während nicht alle Klassen Code dokumentieren, hat [CssMetaData] (http://docs.oracle.com/javase/8/javafx/api/javafx/css/CssMetaData.html), und scheint zu empfehlen, dass ich meine eigenen verwenden sollte Präfix. Das ist alles, was ich wissen wollte - wenn du willst, kannst du es in eine Antwort verwandeln, damit ich es akzeptieren kann. – glglgl

Antwort

4

Obwohl dies keine definitive Antwort ist, enthält die Dokumentation für einige der Klassen im javafx.css-Paket (z. B. StylablePropertyFactory) Beispiele für benutzerdefinierte Steuerelemente mit Stylable-Eigenschaften. In diesen Beispielen verwendet die Dokumentation Autor einen Präfix

-my-... 

für die CSS-Eigenschaft Namen, die Sie schlägt vor, sollten Sie Ihren eigenen Präfix und nicht

-fx-... 

jedoch verwenden, ich bin mir nicht bewusst überall diese wird explizit gemacht.

+0

Nochmals vielen Dank, das ist alles, was ich brauche, um auf der sicheren Seite zu sein. Ich mache das gleiche und nehme ein eigenes Präfix. – glglgl

-2

CSS hat nichts mit Steuerelementen zu tun. Cascading Style Sheets formatieren das Erscheinungsbild Ihrer Benutzeroberfläche. Dieser Abschnitt beschreibt, wie viele JavaFX-spezifische CSS-Eigenschaftsnamen von den Variablen- und Klassennamen von JavaFX abgeleitet wurden.

CSS-Eigenschaften können nicht vom Benutzer definiert werden. Die Änderung der Funktionalität oder des Verhaltens Ihrer Benutzeroberfläche sollte in Ihrem Java-Code erfolgen.

+2

Die [Dokumentation] (http://docs.oracle.com/javase/8/javafx/api/javafx/css/package-summary.html) für die Klassen im Paket 'javafx.css' beschreibt explizit [how to CSS-Stylable-Eigenschaften für benutzerdefinierte Steuerelemente erstellen (http://docs.oracle.com/javase/8/javafx/api/javafx/css/StyleablePropertyFactory.html). Die Paketdokumentation enthält * "Bietet API zum Erstellen von Eigenschaften über CSS und zum Unterstützen des Pseudo-Klassenstatus." * –

+0

Wenn sie vom Benutzer nicht definiert werden konnten, hätte ich nicht gefragt ... Es wird ausdrücklich unterstützt tun Sie dies. – glglgl

+0

"Cascading Style Sheets formatieren das Erscheinungsbild Ihrer Benutzeroberfläche." Recht. Und wie? Durch Ändern der Eigenschaft der jeweiligen Steuerelemente.Also "CSS hat nichts mit Kontrollen zu tun." ist auch nicht korrekt. – glglgl