Sto cercando un modo per definire la finestra di dialogo JavaFX predefinita (javafx.scene.control.Dialog
).Finestre di dialogo JavaFX predefinite di stile
Ho cercato di ottenere il DialogPane e di aggiungere un foglio di stile, ma copre solo una piccola parte della finestra di dialogo. Preferirei disegnare solo con un file css esterno e senza aggiungere styleClasses al codice. Questo apparirebbe disordinato (intestazione, contenuto, contenuto proprio sul contenuto e altro ..)
Ho cercato già un sacco e ho trovato solo esempi per ControlsFX, ma dal momento che jdk8_40 JavaFX ha i propri Dialoghi li uso ora.
Qualche suggerimento?
Edit:
Dal José Pereda ha postato la soluzione che ho creato il mio dialog.css. Lo posterò qui perché copre l'intero dialogo e forse qualcuno vorrà copiare & incollarlo. Nota .dialog-pane è già un nome styleClass dato, quindi non è necessario applicare il proprio. Certo, Josés è più dettagliato.
.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;
}
Mi sono già imbattuto in un altro post di te ma ho pensato che non fosse correlato alla finestra di dialogo JavaFx a causa del nome di classe "personalizzato". Qualunque cosa abbia provato prima il tuo esempio, non ha funzionato, ma poi ho capito che stavo usando jdk8_u31. Ora con 8_40 sta funzionando. Grazie per quello. Ma mi chiedo perché ho avuto il Dialog in u31, perché leggo ovunque è disponibile sin da 40 anni ... qualche idea? – Timo
Ho appena modificato la mia risposta, dato che modena.css include già il selettore '.dialog-pane' nell'ultimo 8u40 bis. Il mio altro post era relativo a [openjfx-dialogs] (https://bitbucket.org/controlsfx/openjfx-dialogs), il progetto trabocchi estratto da ControlsFX, valido per le versioni 8u20, 8u25 e 8u31. –
Grazie per questa risposta, è stato molto utile! Tuttavia, ho notato che usare ': header' non funziona più, quindi ho usato' .myDialog .header-panel', che funziona perfettamente. Sto anche usando 8u40 .. – bashoogzaad