当前位置: 首页 > 知识库问答 >
问题:

创建JavaFX对话框

李锦
2023-03-14

我正在编写一个javafx程序,我需要创建和使用我自己的Stage based (Javafx。Stage)对话框,用于显示消息和确认。到目前为止,我已经编写了所有必要的代码,但是我有一个问题:

对话框必须停止执行其余代码,直到给出类似“是”或“否”或“重试”之类的响应。当我使用我的对话框,如“DialogBox.ShowMessage”时,会出现一个带有消息和按钮的阶段。但是,正如您可能认为的那样,代码的其余部分将继续执行。我该如何解决这个问题?当我创建阶段时,它必须停止其他线程或它所依赖的线程。我已经通过互联网和这里搜索,但我找不到确切的解决方案。一个想法是使用“javafx.event.EventDispatcher”或“javafx.event.EventDispatchChain”,但我不知道如何使用它们。另一个想法是使用“java.awt.EventQueue”。这里有一些东西可以提供帮助:我控制舞台表演和隐藏事件以及显示或隐藏事件处理程序。我认为som类型的线程队列可以在这些特殊部分之一中使用。

我希望我把情况弄清楚了。简而言之,ı需要在使用另一个阶段和我自己的代码时管理线程。

非常感谢。

共有1个答案

岳泉
2023-03-14

关于执行暂停,http://javafx-jira.kenai.com/browse/RT-19783 有一个Jira问题。
作为一种解决方法,我不知道如何使用事件调度程序和事件调度程序链来解决此问题,但您可以将事件处理程序作为参数发送。例如

public static void ShowMessage(final EventHandler<ActionEvent> okAction, final EventHandler<ActionEvent> cancelAction){

   // Define and add buttons to the "view" and show message

   btnOk.setOnAction(new EventHandler<ActionEvent>() {
        public void handle(ActionEvent event) {
        okAction.handle(null);
        }
    });

   btnCancel.setOnAction(new EventHandler<ActionEvent>() {
        public void handle(ActionEvent event) {
        cancelAction.handle(null);
        }
    });
}

并将其用作,

DialogBox.ShowMessage(
 new EventHandler<ActionEvent>() {
      @Override public void handle(ActionEvent arg0) {
        // Do stuff when "ok" clicked. 
},
 new EventHandler<ActionEvent>() {
      @Override public void handle(ActionEvent arg0) {
        // Do stuff when "cancel" clicked. 
});

然而,我同意这是一种“蜿蜒”的方式。
Siteye hoş geldin ve kolay gelsin.

 类似资料:
  • 问题内容: 我需要在JavaFX中创建一个对话框。我知道我可以通过修改模式,所有者和可调整大小的属性来使舞台表现得像对话框。 但是,如何从舞台窗口中隐藏“最小化”和“最大化”按钮?典型的对话框只有“关闭”按钮。 问题答案: 在Windows 7下,在显示窗口之前初始化为StageStyle.UTILITY将创建一个仅具有关闭按钮而没有最小化或最大化按钮的窗口: 如果您需要一整套基本的JavaFX对

  • 我需要用JavaFX创建一个对话框。我知道我可以通过修改modal、owner和resizable属性使Stage的行为像一个对话框。 但是我如何从舞台窗口隐藏“最小化”和“最大化”按钮呢?典型的对话框只有“关闭”按钮。

  • 问题内容: 创建对话框的最简单方法是: 在一个窗口中,我提供用于信封寻址的数据,还从尺寸列表中设置字体类型 当单击“确定”时,在同一窗口或下一个窗口中,我将预览到给定名称和使用所选字体大小后的信封外观 它的外观应类似于: 替代文字http://img15.imageshack.us/img15/7355/lab10aa.gif 我应该使用Jdialog吗?还是JOptionPane就足够了?下一步

  • 我尝试了很多我在网上看到的不同东西,但我什么都做不了。我只需要一个简单的对话框,当你点击菜单中的退出按钮并询问“您确定要退出吗?”并提供一个有效的“是的,我确定。”和“不,取消”按钮。

  • 通过给指向页面的链接增加data-rel="dialog"的属性,可以把任何指向的页面表现对对话框。当应用了对话框的属性之后,qjmobile框架会给新页面增加圆角,页面周围增加margin,以及深色的背景,使得对话框浮在页面之上 HTML 代码: <a href="foo.html" data-rel="dialog">Open dialog</a> 对话框的转场 Transitions 因为

  • 问题内容: 我是android开发的新手。我想在我的应用程序中使用开发一个。当我单击“搜索”按钮时,应当与一起出现,表明在切换到另一个按钮之前进度一直在进行。请给我推荐示例代码。 问题答案: 使用。不过,您应该在new上进行工作,并在完成时使用a 回调到。这是我的方法: