首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JAVAFX:使用JFOENIX更改舞台窗口颜色

JAVAFX:使用JFOENIX更改舞台窗口颜色
EN

Stack Overflow用户
提问于 2017-02-12 12:51:59
回答 2查看 3.6K关注 0票数 4

我一直在使用JFOENIX库制作一个材料设计桌面应用程序,从JFOENIX中,我看到stage窗口变成了类似于下图的样子:

我也想做同样的事情,但我找不到任何关于它的话题。这里有谁正在使用JFOENIX,并且实现了和我想要的一样的效果?该怎么做呢?

EN

回答 2

Stack Overflow用户

发布于 2017-09-10 01:26:10

看看this demo吧。您可以使用以下代码创建一个JFoenix装饰器:

代码语言:javascript
复制
import com.jfoenix.controls.JFXDecorator;

Parent root = something; // your root container

JFXDecorator decorator = new JFXDecorator(stage, root);
decorator.setCustomMaximize(true);
Scene scene = new Scene(decorator, 500, 500);

这将导致一个黑色装饰器。看过this css file之后,我想你可以用下面的css代码来改变颜色:

代码语言:javascript
复制
.jfx-decorator {
    -fx-decorator-color: blue;
}

.jfx-decorator .jfx-decorator-buttons-container {
    -fx-background-color: -fx-decorator-color;
}

.jfx-decorator .resize-border {
    -fx-border-color: -fx-decorator-color;
    -fx-border-width: 0 4 4 4;
}

不幸的是,装饰者仍然是黑色的。我找不到任何额外的文档,所以我真的不知道如何改变装饰器的颜色。希望我能帮上忙。

票数 5
EN

Stack Overflow用户

发布于 2018-05-26 14:19:56

我找不到任何直接更改jfx-decorator颜色的直接方法,所以我使用了以下代码,这对我来说很有效!

在java代码中,

代码语言:javascript
复制
Stage stage = new Stage();
Parent root = FXMLLoader.load(getClass().getResource("FXML_FILE"));
/*...*/
JFXDecorator decorator = new JFXDecorator(stage , root);
decorator.setCustomMaximize(true);                  
String uri = getClass().getResource("CSS_PATH").toExternalForm();
Scene scene = new Scene(decorator);
scene.getStylesheets().add(uri) ;
stage.setScene(scene);
stage.show();

在css文件中,

代码语言:javascript
复制
.jfx-decorator {
    -fx-decorator-color: #272727;
}

.jfx-decorator .jfx-decorator-buttons-container {
    -fx-background-color: -fx-decorator-color;

}

.jfx-decorator .resize-border {
    -fx-border-color: -fx-decorator-color;
    -fx-border-width: 0 2 2 2;
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42184334

复制
相关文章

相似问题

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