JFileChooser 作为 JDialog 父级
Posted
技术标签:
【中文标题】JFileChooser 作为 JDialog 父级【英文标题】:JFileChooser as a JDialog parent 【发布时间】:2013-02-09 20:55:39 【问题描述】:在 JFileChooser 中,当尝试覆盖文件时,我希望我的程序提示用户他将要这样做。
这是在用户按下 JFileChooser 中的 APPROVE_OPTION 时完成的。
但是,我不希望 JFileChooser 立即关闭,但是如果这样的文件已经存在,则显示一个 JDialog,如果用户想要覆盖,覆盖,否则关闭 JDialog 并返回到 JFileChooser。
我知道我可以在打开 JDialog 之前保存 JFileChooser 条件,如果用户选择不覆盖,只需使用我保存的信息重新创建整个 JFileChooser。
但我想知道是否有更简单的方法。有吗?
【问题讨论】:
【参考方案1】:您应该能够覆盖approveSelection() 方法。
final JFileChooser chooser = new JFileChooser( new File(".") )
public void approveSelection()
if (getSelectedFile().exists())
System.out.println("Do You Want to Overwrite File?");
return;
else
super.approveSelection();
;
您可以使用 JOptionPane 提示用户,而不是显示消息。如果用户接受,则调用 super.approveSelection();
【讨论】:
以上是关于JFileChooser 作为 JDialog 父级的主要内容,如果未能解决你的问题,请参考以下文章
JAVA SWING 用了JDialog的模态窗口后,为啥监听器没反应了?