JavaFX背景颜色未使用CSS设置

时间:2014-09-07 09:45:27

标签: java css javafx

我最近开始使用来自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;
}

找到样式表,因为我没有在控制台中收到错误/警告。

3 个答案:

答案 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/;)