我在我的JavaFX應用程序中有一個ChoiceDialog,而且對於我來說,無法弄清楚需要更改CSS樣式的外觀和感覺。我的其他對話框窗格似乎受到我的外部CSS文件的影響,所以我猜測它是我不熟悉的元素。JavaFX ChoiceDialog CSS
此外,這將是重寫模式的CSS。
我曾嘗試:
.dialog-pane {
-fx-background-color: black;
}
.dialog-pane .label {
-fx-text-fill: white;
}
.dialog-pane:header .header-panel {
-fx-background-color: black;
}
.dialog-pane:header .header-panel .label {
-fx-font-style: italic;
-fx-font-size: 2em;
}
我也試過:
.choice-dialog .dialog-pane {
-fx-background-color: black;
}
.choice-dialog .dialog-pane .label {
-fx-text-fill: white;
}
.choice-dialog .dialog-pane:header .header-panel {
-fx-background-color: black;
}
.choice-dialog .dialog-pane:header .header-panel .label {
-fx-font-style: italic;
-fx-font-size: 2em;
}
以及那些2(.choice-對話框& .dialog窗格)的其他幾個變種 另一件事我試過(在查看modena.css文件後)是通過執行以下操作更改顯示在ChoiceDialog中的圖標:
from
.choice-dialog.dialog-pane {
-fx-graphic: url("dialog-confirm.png");
}
到
.choice-dialog.dialog-pane {
-fx-graphic: url("dialog-warning.png");
}
雖然這沒有結果無論是。
UPDATE
我更新了自定義的CSS文件,刪除了一切,重試上述的CSS。 CSS的第一塊只改變DialogPane,而不是ChoiceDialog。第二個和第三個什麼也沒做。
這裏是我用來創建ChoiceDialog
ChoiceDialog<String> dialog = new ChoiceDialog<>("district", choices);
dialog.setTitle("Object Selection");
dialog.setHeaderText("Which object should the file inherit from?");
dialog.setContentText("Default Object:");
Stage dialogStage = (Stage) dialog.getDialogPane().getScene().getWindow();
dialogStage.getIcons().add(icon);
dialogStage.initOwner(stage);
Optional<String> response = dialog.showAndWait();
response.ifPresent(chosen ->
{
//It does something...
});
Dialog<ObservableList<DataFilter>> dialog = new Dialog<>();
dialog.getDialogPane().setPrefSize(620, 430);
dialog.setTitle("Field Filter");
dialog.getDialogPane().getButtonTypes().addAll(save_bt, cancel_bt);
dialog.initOwner(stage);
dialog.setResultConverter((ButtonType b) ->
{
if (b == save_bt)
{
return FXCollections.observableArrayList(dataFilters);
}
return null;
});
Stage stage = (Stage) dialog.getDialogPane().getScene().getWindow();
stage.getIcons().add(icon);
您可以詳細介紹一下嗎?你想要應用什麼樣的風格,以及你爲了應用它而實際嘗試過什麼?發佈[MCVE]。 –
已更新,以顯示我所嘗試的內容。 –
您是否嘗試過'.choice-dialog.dialog-pane'(如您在modena.css中發佈的代碼片段中所示,沒有空格),而不是'.choice-dialog .dialog-pane'(帶空格)? 'url(...)'函數將查找相對於CSS文件的圖像文件,所以除非你有一個代碼片段不能工作。如果這些修補程序不起作用,我建議您發佈[MCVE]。 –