3

に問題がありJFileChooserます。カスタムダイアログに埋め込んでいますが、カスタムダイアログには独自の[OK]ボタンと[キャンセル]ボタンがあり、ダイアログは変更できません。

したがって、ボタンを非表示にする設定JFileChooser.setControlButtonsAreShownをしています。falseカスタムダイアログの[OK]ボタンをクリックするとJFileChooser.getSelectedFile、選択したファイルを取得するために呼び出します。

しかし問題がある。ファイルリストでディレクトリまたはファイルを選択するか、ホームやデスクトップなどの特別なボタンをクリックすると、すべて機能します。そこで、チューザーでファイルを選択します(ファイル名フィールドがファイル名で更新されます)。

しかし、ファイル名のテキストフィールドをクリックしてファイル名を変更し、ファイル名を編集すると、後で呼び出すときにJFileChooser.getSelectedFile、入力した新しいファイル名を反映する修正されたFileオブジェクトではなく、元のファイルの名前が取得されます。

したがって、JFileChooser「承認」ボタンをクリックすると、返されたファイルオブジェクトが更新されると思われます。SELECTED_FILE_CHANGED_PROPERTY私の疑惑は、タイプのPropertyChangeEventをリッスンすると、テキストフィールドの終了編集が発生したときではなく、ピッカーまたは特別なボタンを使用したときにのみ呼び出されるという事実にも基づいています。

誰かがこの問題の解決策を知っていますか?私も試しJFileChooser.approveSelectionましたが、明らかな効果はありませんでした。

ありがとうございました。

4

0 に答える 0