我知道還有另一種方法可以做到這一點,但我更喜歡看是否有人以這種方式做出答案。最初的方法是在調用ShowDialog()函數後獲取整數返回值;我想從Event(如下所示)內部抓取它。我已經在那裏拋出了一些代碼來檢查是否選中了一個文件,但是我需要檢查批准按鈕(OK按鈕)是否在它到達之前被選中。有誰知道如何使用下面的設置來檢查在FileChooser對話框中按下哪個按鈕?在Swing 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()方法,正如你所看到的,它是。沒有捕獲返回值(隨我一起)。是否有可能得到返回值或設計一個方法來確定是否按下了OK按鈕在MouseClicked事件?我想我試圖專注於一個事件基於編程風格,其中的代碼根據事件引發的反應,並抓住檢查點擊OK菜單事件中的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))
{
}
}