如何在FXML控制器中获取父窗口?

2024-02-15

例如,我想在单击按钮时打开 DirectoryChooser:

<VBox fx:controller="com.foo.MyController"
    xmlns:fx="http://javafx.com/fxml">
    <children>
        <Button text="Click Me!" onAction="#handleButtonAction"/>
    </children>
</VBox>

和控制器类:

package com.foo;

public class MyController {
    public void handleButtonAction(ActionEvent event) {
        DirectoryChooser dc = new DirectoryChooser();
        File folder = dc.showDialog(null);//I want to put the WIndows here.
    }
}

我想把主窗口放到显示对话框这样它就会被阻止,但我怎样才能访问它呢?


您可以向任何节点询问Scene然后打电话Scene#getWindow().

((Node) event.getTarget()).getScene().getWindow()

From @osvein https://stackoverflow.com/users/1981338/osvein如果这是一个处理程序MenuItem它应该是:

((MenuItem) event.getTarget()).getParentPopup().getOwnerWindow()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在FXML控制器中获取父窗口? 的相关文章

  • 如何在 fxml 项目中使用 font Awesome (javafx)

    我想在我的项目中使用 font Awesome 字体 但我不知道如何在我的项目中使用 font Awesome 我找到了一些示例 但它们不能在 fxml 中使用 很棒的javafx字体 https bitbucket org Jerady
  • 如何在 sbt 中检测 JavaFX 运行时 jar

    我想做的是定义javaHome一开始 要么来自环境变量 要么来自默认的固定字符串 然后 稍后 我会使用该字符串 这是我尝试过的 javaHome Some file Library Java JavaVirtualMachines jdk1
  • NullPointerException 加载 fxml

    我想在我的应用程序中加载 fxml 文件 我使用下一个代码 try FXMLLoader loader new FXMLLoader loader setController null loader setRoot null loader
  • 如何获取javafx imageView中显示图像的宽度/高度?

    我需要获取 imegView 中显示图像的宽度 高度 并将其与 imageView getImage getWidth getHeight 中的原始图像大小进行比较 并在用户从应用程序 GUI 中调整其大小时监听更改 I get this
  • 将两个表视图绑定在一起,以便它们同步滚动

    我想将两个表视图绑定在一起 以便它们同步滚动 我怎么做 我无法找到如何访问表格视图的滚动条 我做了一个CSS hack来将Tableview与外部滚动条绑定 一个滚动条控制两个表格视图 我的想法的概述 创建两个表视图 制作一个垂直滚动条 在
  • 企业 Web 应用程序中的 JavaFX - 经典网页的良好替代方案?

    我们为不同的客户开发了多种 Web 应用程序 从为那些可怜的管理员提供的简单 看起来很无聊的 CRUD 风格的 GUI 到为那些互联网用户提供的奇特的 AJAX 增强型 GUI 所有这些都基于 JSF 1 2 与 JBoss Seam 2
  • JavaFX 全屏 - 根据屏幕尺寸调整元素大小

    有没有什么方法可以使全屏 如果可能的话也调整大小 而不是重新排列所有内容 实际上它所做的是重新排列元素 例如调整大小但调整到整个屏幕 以形成实际的全屏模式 就像通常改变屏幕分辨率的游戏一样 以便按钮和文本根据屏幕 窗口的大小相应增长 另外
  • 在 javafx 中注册鼠标处理程序,但处理程序不是内联的

    我有一个 JavaFX 应用程序变得有点大 我想保持代码的可读性 我有一个折线图 我希望内置缩放功能 该功能在单击鼠标时发生 我知道我需要向图表注册鼠标侦听器 我无法从 Oracle 示例中弄清楚什么 即如下所示 http docs ora
  • 用于制作代码编辑器的 JavaFX 相当于 JSyntaxPane 的什么?

    以前在 Swing 中 我使用过JSyntaxPane用于制作一个小型 Java 源代码编辑器 为了练习 我决定用 JavaFX 重做整个项目并添加对更多语言的支持 最好是尽可能多 不过好像没有什么类似的JSyntaxPane 一些研究让我
  • 访问 FXML 控制器类

    我想随时与 FXML 控制器类进行通信 以更新主应用程序或其他阶段屏幕上的信息 这可能吗 我还没有找到任何方法来做到这一点 静态函数可能是一种方法 但它们无法访问表单的控件 有任何想法吗 您可以从以下位置获取控制器FXMLLoader FX
  • JavaFX - setVisible 隐藏元素但不重新排列相邻节点

    在 JavaFX 中 如果我有一个场景有 2VBox元素和每个VBox有多个Label in it 如果我设置顶部VBox to 无形的 为什么底部VBox 不向上移动顶部的场景VBox was The VBox is 无形的但我希望其他物
  • 使用 JavaFX 将可执行 Jar 限制为一个窗口

    我正在通过构建 JavaFX 应用程序E fx 剪辑 and Java场景生成器 基本功能是登录窗口 登录后 将打开新窗口 然后登录窗口消失 目前还处于原型阶段 用完eclipse后 我想要的功能都有了 启动时显示登录窗口 代码如下 Ove
  • 在 Javafx 中单击内部时,透明舞台不应最小化

    我正在学习在 JavaFx 中创建屏幕录制应用程序 我希望用户调整矩形的大小来决定屏幕捕获区域 我已将舞台和场景设为透明primaryStage initStyle StageStyle TRANSPARENT and scene setF
  • JavaFX:setWrapText(true) (WordWrap) 在 ListView 中不起作用

    在 ListView Cell 中激活 WordWrap 时 文本不会换行 这是一个例子 public class ListBug extends Application public static void main String arg
  • 如何在JavaFX中播放其他视频格式

    我正忙于电影 视频剪辑播放器 库 我想在 JavafX 中做到这一点 几乎 90 的视频剪辑都是 AVI 格式 由于多种原因 我无法隐藏电影 视频剪辑 我还希望该程序能够标记已播放的视频文件 从开始到结束 以便我知道观看了什么 因此程序需要
  • 如何平滑拖动JavaFX多边形?

    我有一个多边形 三角形 我想让它可以用鼠标拖动 下面是我尝试过的代码 但是使用此代码我无法顺利拖动它 请让我知道如何才能使其顺利拖动 public void start Stage primaryStage throws Exception
  • JavaFX 多线程 - 连接线程不会更新 UI

    我正在尝试创建一个加载程序对话框 用户可以在其中知道程序正在加载所请求的内容并且程序正在按预期运行 但正因为如此 我需要join 解析器线程和之前继续主线程 这使得对话框空白 解析器任务 java public class ParserTa
  • 在 JavaFX 图表中添加一条线

    我在 JavaFX 中的定义位置添加一行时遇到问题 该线必须是一条恒定线 如下所示 如何向 JavaFX 图表添加价值标记 https stackoverflow com questions 15615881 how to add a va
  • JavaFX 中画布的最大尺寸

    有谁知道JavaFX中画布的最大尺寸 从一些测试来看 它似乎是 8192 与 IE 相同 在我看来 这很奇怪 或许 可以修改吗 这可能取决于您的显卡的最大纹理大小 因为我相信 使用最常见的硬件加速渲染管道 画布最终将表示为纹理 我不太清楚
  • JavaFX 2.0 - 为 FXML 中的自定义组件创建操作处理程序

    我想在我的新组件中添加自定义操作 这个怎么做 示例代码 成分 public class MyCustomComponent extends Region public MyCustomComponent super this setOnMo

随机推荐

  • 如何通过 vimeo api 获取视频统计信息

    我想通过 api 调用获取我的 vimeo 帐户中的视频统计信息 我在用着https api vimeo com me videos stats https api vimeo com me videos stats端点获取统计信息 如其文
  • KoGrid JSON 动态小部件,具有嵌套服务器调用

    我正在使用 KOGrid 开发一个仪表板 我的想法是动态创建一堆小部件并将每个小部件的数据绑定到 kogrid 中 我有两个控制器 MVC4 其中第一个返回小部件名称列表 第二个以 JSON 格式返回每个小部件的结果 数据表 我正在使用 J
  • 如何使用 Go 漂亮地打印 JSON?

    有谁知道在 Go 中漂亮打印 JSON 输出的简单方法吗 我想漂亮地打印结果json Marshal 以及格式化现有的 JSON 字符串 使其更易于阅读 MarshalIndent http golang org pkg encoding
  • 从 iOS 应用程序上的 UDP 服务器接收数据无法在 Linux 服务器上工作,但可以在 macbook pro 上工作 [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 背景 我做
  • 如何在编译时检测“严格别名”?

    严格别名 https stackoverflow com questions 98650 what is the strict aliasing rule 优化需要特别注意源代码 s a 使用联合而不是指针强制转换 有没有办法使用预处理器指
  • 限制 C# 中通用子类方法可以接受的类型

    如果标题不明确或者重复 我深表歉意 我今天花了很多时间阅读有关泛型的内容 并寻找类似的情况 但无济于事 我正在写一个小游戏引擎 其中一个方面是 单元 承载资源的能力 有些单位可以携带任何资源 有些单位仅限携带某些专门资源 为此 我有以下结构
  • 使用 jQuery 读取 RSS 提要

    我正在尝试使用他们的 RSS feed 和 jquery 来显示我最新的偶然发现的项目的标题 我的功能是 function get stumbleupon get http rss stumbleupon com user fredkell
  • 来自 char 的 C++ 枚举

    好的 我是 C 新手 我拿到了 Bjarne 的书 我正在尝试遵循计算器代码 但是 编译器会吐出有关此部分的错误 token value get token char ch do skip whitespace except n if st
  • 如何表示复杂且混合的数据

    我有一个非常复杂的问题 我正在寻找一个 javascript 或 PHP 脚本 它可以获取任何数据 数组 mysql 查询 并制作表格 数据透视表 图表 简单地说 我想要一个能够获取任何数据并按照我们的要求表示它的应用程序 例如 以用户评价
  • PHP if 或语句不起作用

    我们正在尝试使用下面的代码 if GET 1 1 GET 1 2 当我们尝试这样做时 无论变量的值是什么 即使输入的数据为假 它也会评估为真 当我们使用 if GET 1 1 GET 1 2 并输入数据 使其返回 false 它可以正常工作
  • Java String.substring 方法潜在内存泄漏?

    我正在查看 String 类 API 看起来 substring 方法可能会导致潜在的内存泄漏 因为它与原始 String 共享相同的字符数组 如果原始字符串很大 那么子字符串返回的小字符串可以防止原始字符串 由大数组备份 在Java中被垃
  • 生成某个时间间隔内的时间戳范围并查询所有重叠事件

    我想在一个时间间隔内生成一系列时间戳范围 并在表中查询所有重叠事件 我是almost那里 但对 SQL 还很陌生 似乎无法克服这个困难 为了进行测试 我构建了一个包含一系列事件的表 每个事件都在某个日期时间范围内发生 CREATE TABL
  • WebGL:如何使对象的一部分透明?

    我在浏览器中有一个 3D 球 现在我想在它上面挖一个洞以查看它的背面 我怎样才能使它成为可能 例如 我希望立方体的白色三角形部分可以是透明的 我的意思是我们可以看到立方体后面的背景 我尝试更改片段着色器中的 alpha 代码中的区域是正方形
  • 如何在java中加密和解密URl参数?

    如何在java中加密和解密URl参数而无需像 这样的html字符 import java io UnsupportedEncodingException import java security spec AlgorithmParamete
  • 如何在 Katalon Studio 中执行基本 Java 代码

    我正在尝试在 Katalon Studio 和 Java 中执行这个基本程序 但 O P 显示 if i lt 12 您能帮助我了解如何在 Katalon Studio 中像 IntelliJ 或 Eclipse 一样执行或使用 Java
  • int * 和 int a[size] 有什么区别

    Case I int a 12 printf d sizeof a Case II int a int malloc 12 sizeof int printf d sizeof a 上面的两个代码片段返回不同的输出 48在第一种情况下 4在
  • 如何将 readAsDataURL() 的值分配给变量?

    好吧 我已经看到了很多有关使用 readAsDataURL 的示例和问题 但它们似乎都不能解决我的问题 以下是我的代码 document ready function var fileReader new FileReader form s
  • R 中的 Caret 和 KNN:预测函数给出错误

    我尝试使用 R 中的 caret 包使用简化的 KNN 模型进行预测 它总是给出相同的错误 即使在此处非常简单的可重现示例中也是如此 library caret set seed 1 generate training dataset a
  • Xamarin 2.0 vs Appcelerator Titanium v​​s PhoneGap [重复]

    这个问题在这里已经有答案了 在今年所有 IDE 的发展 所有相关平台都发生了变化 之后 我希望了解这些平台的技术状况 每个人的优点和缺点是什么 其中一种方法有一些限制吗 我在 C 和 Javascript 方面有很好的经验 没有任何编程语言
  • 如何在FXML控制器中获取父窗口?

    例如 我想在单击按钮时打开 DirectoryChooser