これを行う別の方法があることは知っていますが、誰かがこの方法でそれを行うための答えを持っているかどうかを確認したいと思います. 元の方法は、ShowDialog() 関数を呼び出した後に整数の戻り値を取得することです。イベント (以下に示す) 自体から取得したいと考えています。ファイルが選択されているかどうかを確認するコードをそこに挿入しましたが、そこに到達する前に承認ボタン ([OK] ボタン) が選択されているかどうかを確認する必要があります。以下のような設定を使用して、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 /承認ボタンのクリックのチェックをつかむのは少し...私の観点からはまとまりがないように見えます.おそらく、私はこの問題に対する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))
{
}
}