我最近开始使用来自Swing的切换来使用JavaFX,但是我遇到了一个问题,基本上我添加的样式表中的CSS没有被添加,而是保持相同而不是我和#39 ;阅读它应该工作。
主档案:
package com.callum.launch;
import com.callum.construct.Window;
public class Main
{
public static void main(String[] args)
{
Window.Create("Callum's Program", 980, 640, true);
Window.launch(Window.class, args);
}
}
窗口文件:
package com.callum.construct;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.stage.Stage;
public class Window extends Application
{
protected static String WindowTitle;
protected static int WindowWidth;
protected static int WindowHeight;
protected static boolean WindowResizable;
public static void Create(String title, int width, int height, boolean resizable)
{
WindowTitle = title;
WindowWidth = width;
WindowHeight = height;
WindowResizable = resizable;
}
@Override
public void start(Stage stage) throws Exception
{
Group root = new Group();
Scene window = new Scene(root, WindowWidth, WindowHeight);
stage.setScene(window);
stage.setTitle(WindowTitle);
stage.setResizable(WindowResizable);
stage.setMinWidth(WindowWidth);
stage.setMinHeight(WindowHeight);
window.getStylesheets().add("com/callum/construct/stylesheet.css");
stage.show();
}
}
样式表:
.root
{
-fx-background-color:#000;
}
找到样式表,因为我没有在控制台中收到错误/警告。
答案 0 :(得分:1)
Group
does not have a -fx-background-color
property:该属性在Region
中定义。所以你需要你的根元素成为Region
的一些子类,例如Pane
:
Pane root = new Pane();
Scene window = new Scene(root, WindowWidth, WindowHeight);
答案 1 :(得分:0)
你试过吗? Window.class.getResource(" stylesheet.css中&#34)。toExternalForm()
答案 2 :(得分:-2)
您正在使用" JavaFX应用程序"是?尝试" JavaFX FXML应用程序"。创建GUI更容易。 https://devnoobs.browse.cloudforge.com/cgi-bin/fakturkafxml/fakturkaxml/src/fakturka/mainwindow/;)