gpt4 book ai didi

Java:在 fileChooser 中默认显示 "*.java"中的 "File of type"

转载 作者:行者123 更新时间:2023-12-02 09:18:21 25 4
gpt4 key购买 nike

我在 fileChooser 中遇到一个问题。

当 fileChooser 窗口出现时,我想在“文件类型”中显示 .java 作为默认名称,并且在列表中我想分别显示 *.java、*.class、所有文件。

为此,我使用以下代码:

public class Main {
public static void main(String[] argv) throws ClassNotFoundException, InstantiationException, IllegalAccessException, UnsupportedLookAndFeelException {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
JFileChooser fileChooser = new JFileChooser(new File("."));
fileChooser.addChoosableFileFilter(new MyFilter());
fileChooser.addChoosableFileFilter(new MyFilter2());
fileChooser.setAcceptAllFileFilterUsed(true);
fileChooser.showOpenDialog(null);
System.out.println(fileChooser.getSelectedFile());
}
}

class MyFilter extends javax.swing.filechooser.FileFilter {
public boolean accept(File file) {
String filename = file.getName();
return filename.endsWith(".java");
}

public String getDescription() {
return "*.java";
}
}

class MyFilter2 extends javax.swing.filechooser.FileFilter {
public boolean accept(File file) {
String filename = file.getName();
return filename.endsWith(".class");
}

public String getDescription() {
return "*.class";
}
}

但在此代码中,默认情况下“文件类型”中没有任何内容,并且在列表中分别显示 *.java、*.class、所有文件。但我想将 *.java 名称显示为默认名称“文件类型”。

当我更改此代码并将 fileChooser.setAcceptAllFileFilterUsed(true); 放在上面 fileChooser.addChoosableFileFilter(new MyFilter()); 时,所有文件都会显示默认名称“文件类型”。

如果您在文本编辑器中保存文本文件,则默认情况下会显示文本文档(.txt),并显示在列表文本文档(.txt)并且所有文件都在那里。

我希望在我的应用程序中实现同样的功能。

我还附上了照片,其中提供了我想要的清晰信息:

我的应用程序的工作方式如下:

enter image description here

enter image description here

但我想要这样:

enter image description here

最佳答案

Customizing a JFileChooser可能值得一看,因为它的作用与您所描述的完全一样。

The official JFileChooser文档也涵盖了您的问题。

关于Java:在 fileChooser 中默认显示 "*.java"中的 "File of type",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9600877/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com