gpt4 book ai didi

java - 如何使用 JFileChooser 保存文件?

转载 作者:搜寻专家 更新时间:2023-10-30 19:56:03 24 4
gpt4 key购买 nike

我的应用程序中有一个名为“另存为”的方法,它可以将我的应用程序在计算机上的图像保存到一个文件中。我使用 JFileChooser 让用户选择他们想要的文件保存位置。问题是除非用户明确输入文件格式,否则它会保存没有扩展名的文件。我怎样才能在文件类型下拉菜单中使用 jpg、png 等格式。

以及,如何从“文件类型”下拉菜单中获取扩展名以保存我的图像文件。

 ImageIO.write(image,extension,file);

最佳答案

最后,我解决了自己的问题:

JFileChooser fc = new JFileChooser("C:/");
fc.addChoosableFileFilter(new JPGSaveFilter());
fc.addChoosableFileFilter(new JPEGSaveFilter());
fc.addChoosableFileFilter(new PNGSaveFilter());
fc.addChoosableFileFilter(new GIFSaveFilter());
fc.addChoosableFileFilter(new BMPSaveFilter());
fc.addChoosableFileFilter(new WBMPSaveFilter());

int retrieval = fc.showSaveDialog(null);

if (retrieval == JFileChooser.APPROVE_OPTION) {
String ext = "";

String extension = fc.getFileFilter().getDescription();

if (extension.equals("*.jpg,*.JPG")) {
ext = ".jpg";
} else if (extension.equals("*.png,*.PNG")) {
ext = ".png";
} else if (extension.equals("*.gif,*.GIF")) {
ext = ".gif";
} else if (extension.equals("*.wbmp,*.WBMP")) {
ext = ".wbmp";
} else if (extension.equals("*.jpeg,*.JPEG")) {
ext = ".jpeg";
} else if (extension.equals("*.bmp,*.BMP")) {
ext = ".bmp";
}
}

示例过滤器:

package example

import java.io.File;
import javax.swing.filechooser.FileFilter;

class JPGSaveFilter extends FileFilter {
@Override
public boolean accept(File f) {
if (f.isDirectory()) {
return false;
}

String s = f.getName().toLowerCase();

return s.endsWith(".jpg");
}

@Override
public String getDescription() {
return "*.jpg,*.JPG";
}
}

关于java - 如何使用 JFileChooser 保存文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2531037/

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