我对JFileChooser
有疑问。我将它嵌入自定义对话框中,自定义对话框有自己的“确定”和“取消”按钮,对话框不可更改。
因此,我将JFileChooser.setControlButtonsAreShown
设置为隐藏按钮的false
。单击自定义对话框的“确定”按钮后,我调用JFileChooser.getSelectedFile
以获取所选文件。
但是有一个问题。如果我选择带有文件列表的目录或文件,或者单击Home或Desktop等特殊按钮,那么一切正常。所以我在选择器中选择一个文件(用文件名更新文件名字段)。
但是现在如果我通过单击文件名文本字段更改文件的名称并编辑文件名,那么当我随后调用JFileChooser.getSelectedFile
时,我得到原始文件的名称,而不是反映新文件名的修改后的File对象我打字了。
所以我怀疑单击JFileChooser
的Approve按钮会导致返回的文件对象被更新。我的怀疑也是基于这样一个事实:如果我监听类型SELECTED_FILE_CHANGED_PROPERTY
的PropertyChangeEvent,那么只有在使用选择器或特殊按钮时才会调用它,而不是在发生文本字段结束编辑时调用。
有谁知道这个问题的解决方案?我也试过JFileChooser.approveSelection
,但没有明显效果。
谢谢。