java中的DirectoryDialog隐藏shell
我有一个显示DirectoryDialog的方法。但我称之为JFrame。当我调用下面的方法时,它会打开一个“Shell”,基本上类似于另一个窗口,然后弹出DirectoryDialog 我如何摆脱这个JFrame般的外壳。我已经有了一个JFrame,我希望JFrame是父对象,而不是我需要另外创建的一些随机shell 换句话说,我需要去掉调用此方法时弹出的额外窗口java中的DirectoryDialog隐藏shell,java,swing,shell,filedialog,Java,Swing,Shell,Filedialog,我有一个显示DirectoryDialog的方法。但我称之为JFrame。当我调用下面的方法时,它会打开一个“Shell”,基本上类似于另一个窗口,然后弹出DirectoryDialog 我如何摆脱这个JFrame般的外壳。我已经有了一个JFrame,我希望JFrame是父对象,而不是我需要另外创建的一些随机shell 换句话说,我需要去掉调用此方法时弹出的额外窗口 public File[] fileDialog(boolean folder){ if(folder){
public File[] fileDialog(boolean folder){
if(folder){
Display display = new Display();
Shell shell = new Shell(display);
shell.open();
DirectoryDialog dialog = new DirectoryDialog(shell);
dialog.setFilterPath("C:\\"); // Windows specific
String file = dialog.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
if(file == null)
return new File[0];
else if(file.length() == 0)
return new File[1];
else{
File[] files = new File[1];
files[0] = new File(file);
return files;
}
}
}
为了更快地获得更好的帮助,发布一个(MCTRE).BTW-DYM?也许您最好使用一个
JFileChooser
,使用本机PLAF(它更像,但仍然不完全像,标准的Windows文件选择器)或基于的自定义Swing组件。