我正在开发 JavaFX 应用程序,但无法应用样式表。
我的代码:
public class JavaFX extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
//set up the stage
primaryStage.initStyle(StageStyle.UNDECORATED);
primaryStage.setMaximized(true);
Group root = new Group();
root.setId("root");
Scene scene = new Scene(root);
primaryStage.setScene(scene);
scene.getStylesheets().add(JavaFX.class.getResource("styling.css").toExternalForm());
//Get the screensize
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
double screenX = screenSize.getWidth();
double screenY = screenSize.getHeight();
//Text objects
Text text = new Text();
text.setId("text");
text.setText("Test");
text.setY(50);
//Add all objects to the root group
root.getChildren().add(text);
//Show the stage
primaryStage.show();
//Calculate Positions of all objects
text.setX((screenX /2) - text.getBoundsInParent().getWidth());
我的样式表:
#text {
-fx-font-size: 50px;
}
CSS 文件与 java 文件位于同一包中。
如有任何帮助,我们将不胜感激!
最佳答案
你的代码正确应用了CSS,至少我检查过你的字体大小和-fx-font-size: 500px;和“文本”按预期更改。请再次检查您的style.css 文件。 (此外,您始终可以检查编译的内容并查看 jar 中实际包含的内容,以检查实际将哪些内容拉入稍后运行的内容中)
然而,最有可能的是,您可能有同名的重复 css 文件,一个文件覆盖了另一个文件。例如。一个位于资源文件夹中,另一个位于与 .java 文件相同的位置
关于java - 样式表不适用于 JavaFx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59468800/