gpt4 book ai didi

java - 如何将 JDialog 框中的值返回到父 JFrame?

转载 作者:IT老高 更新时间:2023-10-28 20:41:48 24 4
gpt4 key购买 nike

我创建了一个模态 JDialog 框,上面有一个自定义绘图和一个 JButton。当我单击 JButton 时,JDialog 框应关闭并返回一个值。

我在父 JFrame 中创建了一个名为 setModalPiece 的函数,它接收一个值并将其设置为一个本地 JFrame 变量。

问题是这个函数在 JDialog 框中是不可见的(即使 JDialog 框有对父 JFrame 的引用)。

两个问题:1) 有没有更好的方法将 JDialog 框中的值返回到其父 JFrame?

2) 为什么不能使用传递给 JDialog 的 JFrame 引用来访问我的 JFrame 函数 setModalPiece?

最佳答案

我一般是这样的:

Dialog dlg = new Dialog(this, ...);
Value result = dlg.showDialog();

Dialog.showDialog() 函数如下所示:

ReturnValue showDialog() {
setVisible(true);
return result;
}

由于在 JDialog 上将可见性设置为 true 是一种模态操作,因此 OK 按钮可以将实例变量 (result) 设置为所选的对话框结果(或 null 如果取消)。在OK/Cancel按钮方法中处理后,这样做:

setVisible(false);
dispose();

将控制权返回给 showDialog() 函数。

关于java - 如何将 JDialog 框中的值返回到父 JFrame?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4089311/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com