首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何自定义来自ControlsFX的ControlsFX

如何自定义来自ControlsFX的ControlsFX
EN

Stack Overflow用户
提问于 2015-10-02 15:54:26
回答 1查看 845关注 0票数 1

我创建了自己的自定义进度对话框来处理服务器调用,使用的框架将在后台线程运行时弹出警报。我没有使用Service/Task来完成后台线程,因此不能使用ControlsFX ProgressAlert。

然而,对于只发生在UI上的事情,如果可以的话,我宁愿使用它。我想不出怎么让这些看起来一样。

这就是我想要的:

这就是我如何尝试使用ControlsFX实现这个工作的方法:

代码语言:javascript
复制
ProgressDialog pd = new ProgressDialog(service);
        pd.getDialogPane().setGraphic(new ImageView(new Image(getClass().getClassLoader().getResource("images/myImage.png").toExternalForm())));
        pd.setGraphic(new ImageView(new Image(getClass().getClassLoader().getResource("images/myImage.png").toExternalForm())));
        pd.setContentText("Reprinting Batch Header....");
        pd.setHeaderText("Please Wait...");
        pd.initModality(Modality.WINDOW_MODAL);
        pd.initOwner(parent.getPrimaryStage());
        service.start();

然而,这并没有把我的形象放在我想要的地方,我也不知道如何改变它。

如果可能的话,我希望这些风格相同。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-12 22:21:43

通过设置titleheaderText,可以使文本匹配。

代码语言:javascript
复制
pd.setTitle("Please Wait...");
pd.setHeaderText("This will take a moment...");

您可以像现在一样设置contextText,或者您的servicetask可以调用updateMessage("some message");。这条消息将显示在进度对话框的contextText中。这允许您从任务中更新contentText消息,让用户知道任务进行时发生了什么。

“信息”图像是通过css设置的。您可以通过替换应用于进度对话框的样式表来更改它:

代码语言:javascript
复制
pd.getDialogPane().getStylesheets().clear();
pd.getDialogPane().getStylesheets().add(YourClass.getResource("/path/to/yourcss.css").toExternalForm());

然后在css中指定图像:

代码语言:javascript
复制
.progress-dialog.dialog-pane {
    -fx-graphic: url("path/to/image.png");
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32911138

复制
相关文章

相似问题

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