/ / Come aggiungere classe o pseudoclasse a livello di codice al controllo personalizzato in JavaFX? - java, css, javafx, pseudo-classe

Come aggiungere classe o pseudoclass a livello di programmazione per il controllo personalizzato in JavaFX? - java, css, javafx, pseudo-classe

Nel mondo JavaScript viene spesso impostata la classe di elementi per denotare il suo aspetto, che viene successivamente definito da CSS.

È così in JavaFX?

Ad esempio, cosa succede se voglio colorare un valore negativo in rosso in TableView le cellule? Non vorrei codice colore direttamente, ma ha assegnato una classe a una cella, come "negativo" e successivamente la colora di rosso CSS.

ho trovato PseudoClass classe. È destinato a questo? È contrassegnato "da 8", quindi ci sono API più mature per questo?

risposte:

5 per risposta № 1

Se si desidera aggiungere uno stile a Node che puoi attivare e disattivare, a PseudoClass è davvero il modo corretto di farlo. È stato infatti aggiunto in JavaFX 8.0, ma è l'attuale versione stabile, quindi è un'API matura. Si noti che ciò crea una pseudoclasse (:classname in CSS), non una classe "normale" (.classname in CSS).

Se hai un nodo che vuoi modellare (chiamiamolo node), puoi usare PseudoClass in questo modo:

node.pseudoClassStateChanged(PseudoClass.getPseudoClass("negative"), true);

Fai la stessa cosa, tranne con false come secondo argomento, per disattivarlo di nuovo.