所以我有下面的代碼snipet,我想要應用於我的JavaFX應用程序中99%的標籤。但是,有時我不希望它被應用。不幸的是,每當我嘗試調用讓一個節點忽略一個CSS類條目
myFont.setFont(Font.loadFont(etc etc);
這是無法覆蓋在CSS文件中的標籤類。如何才能做到這一點?謝謝!
.label
{
-fx-font-size: 14pt;
-fx-font-family: "Segoe UI Semibold";
}
所以我有下面的代碼snipet,我想要應用於我的JavaFX應用程序中99%的標籤。但是,有時我不希望它被應用。不幸的是,每當我嘗試調用讓一個節點忽略一個CSS類條目
myFont.setFont(Font.loadFont(etc etc);
這是無法覆蓋在CSS文件中的標籤類。如何才能做到這一點?謝謝!
.label
{
-fx-font-size: 14pt;
-fx-font-family: "Segoe UI Semibold";
}
.label
是建在被應用到所有Node
小號Label
類型的款式之一。您可以刪除任何樣式類是這樣的:
Label lbl = ...
lbl.getStyleClass().remove("label");
不過我建議另一種方法,不涉及刪除樣式類的內置插件的特別之一。
因爲似乎只有一個選擇的幾個標籤,沒有這種風格,你可以將其覆蓋在這些標籤:
.label-override {
-fx-font-size: 10pt;
-fx-font-family: "Segoe UI Semibold";
}
Label otherLbl = ...
otherLabel.getStyleClass().add("label-override);
有不同的方法來做到這一點。很少有方法的描述如下:
.label
,並用它在標籤上您的99%。代碼:
mylabel.getStyleClass().add("my-label")
CSS:
.my-label {
-fx-font-size: 14pt;
-fx-font-family: "Segoe UI Semibold";
}
label
樣式類和新的樣式類設置爲標籤的1%。這將從節點中刪除已存在的.label
樣式類。這似乎是一個更簡單的方法,但如果我是你,我不會去這種方法,因爲我們默認的樣式,我們希望它們默認應用到各自的節點。代碼:
mylabel.getStyleClass().setAll("my-label");
找到一個替代的解決方案,以及感謝你的解釋。我可以鍵入'myLabel.getStyleClass()。clear();'它會重置我Node上的任何CSS文檔。 – Hatefiend
編輯了以前對替代解決方案的評論。謝謝您的幫助。 – Hatefiend
@hotzst這是不正確的 - 「*因此你不能從特定標籤*中刪除該樣式」。更合適的陳述應該是 - 「*因此,你不應**從特定標籤中刪除該樣式*」 – ItachiUchiha