sách gpt4 ai đã đi

javafx - 如何最小化靠近系统托盘的 javafx 阶段?

In lại 作者:行者123 更新时间:2023-12-04 19:41:03 28 4
mua khóa gpt4 Nike

我有一个包含 2 个阶段的应用程序,我不希望用户关闭第二个阶段,只需将其图标化即可。

目前我正在使用 oncloseRequest 处理程序来最小化窗口 -

secondaryStage.setOnCloseRequest(event -> {
secondaryStage.setIconified(true);
event.consume();
});

当用户关闭窗口时,我想在系统托盘中显示一个图标。并且用户应该能够从托盘重新打开窗口。

另外,我如何确保当初级阶段关闭时,第二阶段也关闭?

1 Câu trả lời

在 start 方法中设置以下属性

Platform.setImplicitExit(false);

然后设置关闭事件
secondaryStage.setOnCloseRequest(event -> {
// Your code here
});

要制作系统托盘,请尝试以下代码:

原文档链接: https://docs.oracle.com/javase/tutorial/uiswing/misc/systemtray.html
    //Check the SystemTray is supported
if (!SystemTray.isSupported()) {
System.out.println("SystemTray is not supported");
return;
}
final PopupMenu popup = new PopupMenu();

URL url = System.class.getResource("../../../images/new.png");
Image image = Toolkit.getDefaultToolkit().getImage(url);

final TrayIcon trayIcon = new TrayIcon(image);

final SystemTray tray = SystemTray.getSystemTray();

// Create a pop-up menu components
MenuItem aboutItem = new MenuItem("About");
CheckboxMenuItem cb1 = new CheckboxMenuItem("Set auto size");
CheckboxMenuItem cb2 = new CheckboxMenuItem("Set tooltip");
Menu displayMenu = new Menu("Display");
MenuItem errorItem = new MenuItem("Error");
MenuItem warningItem = new MenuItem("Warning");
MenuItem infoItem = new MenuItem("Info");
MenuItem noneItem = new MenuItem("None");
MenuItem exitItem = new MenuItem("Exit");

//Add components to pop-up menu
popup.add(aboutItem);
popup.addSeparator();
popup.add(cb1);
popup.add(cb2);
popup.addSeparator();
popup.add(displayMenu);
displayMenu.add(errorItem);
displayMenu.add(warningItem);
displayMenu.add(infoItem);
displayMenu.add(noneItem);
popup.add(exitItem);

trayIcon.setPopupMenu(popup);

thử {
tray.add(trayIcon);
} catch (AWTException e) {
System.out.println("TrayIcon could not be added.");
}

示例系统托盘图像:

System tray program example

要从 awt 事件处理程序调用 Javafx 的方法,您可以按照以下方式:
yourAwtObject.addActionListener(e -> {
Platform.runLater(() -> primaryStage.show());
});

关于javafx - 如何最小化靠近系统托盘的 javafx 阶段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38248247/

28 4 0
Bài viết được đề xuất: reactjs - 引导切换按钮组未在 react 中调用 onChange 事件
Bài viết được đề xuất: vba - Selection.Find.Execute 在 Word 2013 中无法正常工作
Bài viết được đề xuất: amazon-s3 - Amazon s3 上的网站备份
Bài viết được đề xuất: wpf - Canvas 中路径的动画填充颜色
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com