2023-02-17 391
我有一个与Javafx集成的Swing构建的应用程序. Swing的Jframe是顶级窗口,其中JFXPanel壳体外壳不同的Javafx控件.现在,我还整合了Javafx的新警报API,目前在显示时很难设置Alert的所有权.也就是说,我想将Jframe作为Alert的所有者.
JFXPanel fxPanel = new JFXPanel();
Platform.runLater(() -> {
Button button = new Button("Alert");
button.setOnAction(evt -> {
Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setHeaderText("An Alert");
alert.setContentText("Alerting");
alert.initModality(Modality.APPLICATION_MODAL);
alert.initOwner(button.getScene().getWindow());
alert.initStyle(StageStyle.UTILITY);
alert.show();
});
BorderPane borderPane = new BorderPane();
borderPane.setCenter(button);
Scene scene = new Scene(borderPane, 300, 300);
SwingUtilities.invokeLater(() -> {
fxPanel.setScene(scene);
JFrame frame = new JFrame("App");
frame.add(fxPanel);
frame.setSize(300, 300);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
});
});
我知道,返回此代码alert.initOwner(button.getScene().getWindow());中的窗口引用时,返回对象.我知道,将Jframe作为Alert的窗户所有者是不可能的.但是,是否有黑客实现这一目标?
在这里看:
http://docs.oracle.com/javase/javase/8/javafx/Interroperability-tutorial/swing-fx-interoperability.htm
它说这样的话 – >
JFrame frame = new JFrame("Swing and JavaFX");
final JFXPanel fxPanel = new JFXPanel();
frame.add(fxPanel);
以上所述是小编给大家介绍的JavaFX模式窗口所有权到Swing,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!
原文链接:https://77isp.com/post/34199.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态