3

我有一个问题JFileChooser。我将它嵌入到自定义对话框中,自定义对话框有自己的确定和取消按钮,并且对话框不可更改。

因此,我设置JFileChooser.setControlButtonsAreShownfalse隐藏按钮。单击自定义对话框的“确定”按钮后,我调用JFileChooser.getSelectedFile以获取所选文件。

但有一个问题。如果我选择带有文件列表的目录或文件,或者单击主页或桌面等特殊按钮,那么一切正常。所以我在选择器中选择了一个文件(它用文件名更新文件名字段)。

但是现在,如果我通过单击文件名文本字段并编辑文件名来更改文件名,那么当我随后调用时,JFileChooser.getSelectedFile我会得到原始文件的名称,而不是反映我输入的新文件名的修改后的文件对象。

所以我怀疑单击JFileChooser“批准”按钮会导致返回的文件对象被更新。我的怀疑还基于这样一个事实,即如果我侦听类型的 PropertyChangeEvent,SELECTED_FILE_CHANGED_PROPERTY则仅在使用选择器或特殊按钮时才调用它,而不是在发生文本字段结束编辑时调用。

有谁知道这个问题的解决方案?我也试过JFileChooser.approveSelection,但没有明显效果。

谢谢你。

4

0 回答 0