JavaFX CSS não carrega

Olá. Eu nunca trabalhei com CSS em JavaFX, e hoje eu resolvi ver como é. Eu tentei carregar de várias maneiras, porém nenhuma funcionou.

Tentei pelo código:

 MainWindow m = (MainWindow) new MainWindow()
                .setTitle("Meus dados")
                .show().setMaximized();
        m.getWindow().getScene().getStylesheets().add(getClass().getResource("/css/global.css").toExternalForm());

Tentei pelo Scene Builder

Porém as propriedades não estão sendo alteradas.

Meu código CSS é esse:

@CHARSET "UTF-8";
.tab{
	-fx-background-color: white;
}
.textarea{
	-fx-background-color: rgb(243, 244, 156);
}

Alguém sabe me dizer o que eu fiz de errado?

Tente assim :
scene.getStylesheets().add(SuaClasse.class.getResource("/empresa/com/br/styles/MainAppCss.css").toExternalForm());

Não funcionou. Sabe me dizer se no meu CSS não tem nada errado?

Não sei se ajuda mas o meu BorderPane tá assim:

Depende, se por exemplo no seu FXML você disser que a classe do seu componente será textarea vai dar certo, para aplicar a todos os textAreas use a tag: text-area.
No seu caso precisa de mais coisa pra funcionar, pois o textArea está dentro de um ScrollPane, por isso tem que aplicar o estilo a ele também, resumindo, seria algo assim:

.text-area{
-fx-background-color: rgb(243, 244, 156);
}

.text-area .scroll-pane .viewport{
-fx-background-color: transparent;
}

.text-area .scroll-pane .content{
-fx-background-color: transparent;
}

Não se esqueça de sempre consultar a documentação oficial:
http://docs.oracle.com/javafx/2/api/javafx/scene/doc-files/cssref.html

Eu mudei o CSS e continuou igual.

Então o arquivo não está sendo aplicado. Eu sempre faço pelo SceneBuilder, seleciono o painel pai vou em Stylesheets e busco o arquivo. pra conferir se o estilo foi aplicado use o CSS Analyzer:

Eu carreguei dessa maneira também, e o CSS Analyser não está detectando. Porém agora eu notei uma mensagem no console:

`WARNING: CSS Error parsing file:/C:/Users/thall/workspace/Meus-Dados/target/classes/css/global.css: Expected LBRACE at [1,9]`

Isso é devido ao charset, não tem necessidade.

1 curtida

Valeu cara, é mesmo, eu removi a linha e funcionou.

Consulte a documentação para ver como trabalhar corretamente com o CSS do FX.
Veja o css desse projeto, acho que vai ajudar:

1 curtida