我的应用程序有点问题,因为它需要将一些文件保存在用户通过(非常简单的)类DirSaveChooser选择的目录中:
public class DirSaveChooser extends JFileChooser{
private int result = ERROR_OPTION;
public DirSaveChooser(File file){
setDialogTitle("Select directory");
setAcceptAllFileFilterUsed(false);
setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
setSelectedFile(file);
result = showSaveDialog(new JFrame());
}
}
我想使用方法setSelectedFile(File)设置建议的文件名(例如“new_untitled_dir”),但这只有在我删除:
时才有可能setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
我不喜欢这个解决方案,因为我不想也看到对话框中的文件。
我该怎么做?
解 我在构造函数中添加了一个简单的方法来查找JTextField(确定,这不是一个很好的解决方案,但它可以工作):
JTextField text_field = findTextField(this);
if(text_field != null)
text_field.setText("new_untitled_dir");
和
private JTextField findTextField(JComponent parent){
for(Component comp : parent.getComponents()){
if(comp instanceof JTextField)
return (JTextField) comp;
if(comp instanceof JComponent){
JComponent jcomp = (JComponent) comp;
JTextField text_field = findTextField(jcomp);
if(text_field != null)
return text_field;
}
}
return null;
}