样式表未应用于JavaFx

样式表未应用于JavaFx,java,css,javafx,stylesheet,Java,Css,Javafx,Stylesheet,我正在开发一个JavaFX应用程序,但是我无法应用样式表 我的代码: public类JavaFX扩展应用程序{ @凌驾 public void start(Stage primaryStage)引发异常{ //搭建舞台 初级阶段。初始风格(阶段风格。未装饰); primaryStage.setMaximized(真); 组根=新组(); 根。setId(“根”); 场景=新场景(根); 初级阶段。场景(场景); scene.getStylesheets().add(JavaFX.class.ge

我正在开发一个JavaFX应用程序,但是我无法应用样式表

我的代码:

public类JavaFX扩展应用程序{
@凌驾
public void start(Stage primaryStage)引发异常{
//搭建舞台
初级阶段。初始风格(阶段风格。未装饰);
primaryStage.setMaximized(真);
组根=新组();
根。setId(“根”);
场景=新场景(根);
初级阶段。场景(场景);
scene.getStylesheets().add(JavaFX.class.getResource(“style.css”).toExternalForm());
//获取屏幕大小
维度screenSize=Toolkit.getDefaultToolkit().getScreenSize();
double screenX=screenSize.getWidth();
double screenY=screenSize.getHeight();
//文本对象
Text Text=新文本();
text.setId(“文本”);
text.setText(“测试”);
赛蒂(50);
//将所有对象添加到根组
root.getChildren().add(文本);
//上台
primaryStage.show();
//计算所有对象的位置
text.setX((screenX/2)-text.getBoundsInParent().getWidth();
我的样式表:

#文本{
-fx字体大小:50px;
}
CSS文件与java文件位于同一个包中


非常感谢您的帮助!

您的代码正确地应用了css,至少我已经检查了您的字体大小和-fx字体大小:500px;并且“文本”按预期更改。请再次检查您的style.css文件。(此外,您可以随时检查编译的内容,并查看jar中确实存在的内容,以检查您以后运行的内容中实际包含的内容)


然而,最可能的情况是,您可能有同名的重复css文件,一个覆盖另一个。例如,一个在资源文件夹中,另一个在与.java文件相同的位置

它似乎没有被编译。忘记将它添加到build.gradle。将css文件添加到build.gradle修复了它,谢谢!@TheDutchMC76“将CSS文件添加到build.gradle中修复了它”-这不必要。您的CSS文件是否位于
src/main/resources
下?默认情况下,gradle使用与Maven相同的源目录布局。所有Java源文件都位于
src/main/Java
下,而所有其他文件(即资源)都位于
src/main/Java
下转到
src/main/resources
下。如果希望资源与类位于同一个包中,则将它们放在相同的相对目录下(例如
src/main/java/com/example/JavaFX.java
src/main/resources/com/example/styleing.css
)@Slaw还可以说,src/main/resources中的所有资源都可以在jar的顶层找到,以后可以通过getClass()#getResource或getClassLoader()找到#从jar中的任何对象获取资源,无论package@Slaw我没有,对Gradle做了更多的挖掘,并且确实了解到没有必要将它放在build.Gradle中,而是放在src/main/resources中。与其使用
Toolkit
,不如查看。