首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法加载css

无法加载css
EN

Stack Overflow用户
提问于 2013-07-27 17:05:14
回答 1查看 145关注 0票数 0

我正在测试这个代码:

LayoutSample.java

代码语言:javascript
复制
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.layout.FlowPane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;

public class LayoutSample extends Application
{

    public static void main(String[] args)
    {
        launch(LayoutSample.class, args);
    }

    @Override
    public void start(Stage stage)
    {

        FlowPane flow = new FlowPane();
        flow.setPadding(new Insets(5, 5, 5, 5));
        flow.setVgap(5);
        flow.setHgap(5);
        flow.setPrefWrapLength(170); // preferred width allows for two columns
        flow.setStyle("-fx-background-color: white;");

        //ImageView pages[] = new ImageView[8];
        for (int i = 0; i < 28; i++)
        {
//            pages[i] = new ImageView(
//                    new Image(LayoutSample.class.getResourceAsStream(
//                    "graphics/chart_" + (i + 1) + ".png")));
            flow.getChildren().add(generateRectangle());
        }

        Scene scene = new Scene(flow);
        /////
        String cssURL = "ButtonsDemo.css";
        String css = this.getClass().getResource(cssURL).toExternalForm();
        scene.getStylesheets().add(css);
        ////
        stage.setScene(scene);
        stage.setTitle("Layout Sample");
        stage.show();
    }

    public Rectangle generateRectangle()
    {

        Rectangle rect2 = new Rectangle(10, 10, 10, 10);
        rect2.setId("app");
        rect2.setArcHeight(8);
        rect2.setArcWidth(8);
        rect2.setFill(Color.AZURE);
        //rect2.setX(10);
        //rect2.setY(160);
        rect2.setStrokeWidth(1);
        rect2.setStroke(Color.BLACK);
        rect2.setWidth(220);
        rect2.setHeight(180);

        return rect2;
    }
}

ButtonsDemo.css

代码语言:javascript
复制
#app {
    -fx-background-color:
    linear-gradient(to bottom, #f2f2f2, #d4d4d4);
}

但是css代码不会呈现在矩形上。你能告诉我这是java代码正确吗?我怀疑我没有设置矩形Id。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-27 18:04:28

CSS是正确加载的,但是您的样式角色被忽略了,因为它不适用于要应用它的Node类型。

要使用-fx-background-color,节点必须从地域派生。

矩形不是区域。

有关适用于这两种类型的属性的定义,请参见CSS区域参考资料矩形

另外,如果您使用-fx-fill来设置矩形的梯度填充,我猜这是您实际上想要做的,那么您也不应该在源代码中设置填充。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17900361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档