java fx 内置图标_如何设置对话框控件Java FX / Java 8的图标

本文介绍了如何在Java FX 8中为对话框设置图标,引用了Marco Jakob的教程,并提供了使用ControlsFX库创建ProgressDialog并添加图标的示例代码。
摘要由CSDN通过智能技术生成

Marco Jakob有一个非常好的教程

here,您可以在其中找到不仅如何使用对话框,还可以找到如何解决您的问题.

对于新的对话框(在JDK8u40早期版本中,或者具有JDK 8u25的openjfx-dialogs),或者对于ControlsFX的对话框,为了设置对话框的图标,可以使用此solution:

Stage stage = (Stage) dialog.getDialogPane().getScene().getWindow();

stage.getIcons().add(

new Image(this.getClass().getResource(".png").toString()));

此代码段显示如何使用ControlsFX中的ProgressDialog,并为对话框设置图标:

@Override

public void start(Stage primaryStage) {

Service service = new Service() {

@Override protected Task createTask() {

return new Task() {

@Override protected Void call() throws InterruptedException {

updateMessage("Message . . .");

updateProgress(0, 10);

for (int i = 0; i < 10; i++) {

Thread.sleep(300);

updateProgress(i + 1, 10);

updateMessage("Progress " + (i + 1) + " of 10");

}

updateMessage("End task");

return null;

}

};

}

};

Button btn = new Button("Start Service");

btn.setOnAction(e -> {

ProgressDialog dialog = new ProgressDialog(service);

dialog.setTitle("Progress Dialog");

dialog.setHeaderText("Header message");

Stage stage = (Stage) dialog.getDialogPane().getScene().getWindow();

stage.getIcons().add(new Image(this.getClass().getResource(".png").toString()));

service.start();

});

Scene scene = new Scene(new StackPane(btn), 300, 250);

primaryStage.setScene(scene);

primaryStage.show();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值