我知道还有另一种方法可以做到这一点,但我更愿意看看是否有人有这样做的答案。原来的方式是调用ShowDialog()函数后获取整数返回值;我想从事件(如下所示)本身中获取它。我已经在其中抛出了一些代码来检查是否选择了文件,但是我需要在它到达那里之前检查是否已经选择了批准按钮(确定按钮)。有谁知道如何使用如下设置检查 FileChooser 对话框中按下了哪个按钮?
这是我的代码:
private void FileChooser_OpenMouseClicked(java.awt.event.MouseEvent evt) {
if(!FileChooser_Open.getSelectedFile().equals(null))
{
}
}
原始方法:
//In response to a button click:
int returnVal = fc.showOpenDialog(aComponent);
不同的是,原来的方法在对话框关闭时会得到一个返回值,而在这个方法中,我不知道有什么方法可以得到这个返回值(我相信盒子已经关闭了,但是没有什么可做的)捕获返回值)。如果我看起来没有多大意义,我深表歉意。
编辑:更多信息
所以这就是我创建对话的方式(一个菜单项,“打开”引发一个事件,该事件调用 showOpenDialog() 方法。如您所见,它没有捕获返回值(请耐心等待)。是否可能然后获取返回值或设计一种方法来确定是否在 MouseClicked 事件中按下了 OK 按钮?我想我正在尝试专注于基于事件的编程风格,其中代码根据引发的事件做出反应, 并在 Open Menu 事件中检查 OK/approval 按钮单击似乎有点……从我的角度来看是杂乱无章的。也许我太习惯 C#/WinForm 解决这个问题的方法了?
private void MenuItem_OpenActionPerformed(java.awt.event.ActionEvent evt) {
FileChooser_Open.showOpenDialog(this);
}
private void FileChooser_OpenMouseClicked(java.awt.event.MouseEvent evt) {
if(!FileChooser_Open.getSelectedFile().equals(null))
{
}
}