关键词:
【中文标题】如何通过 JFileChooser 将 Icon 对象保存到文件中?【英文标题】:How to save Icon object into a file via JFileChooser? 【发布时间】:2011-12-05 00:56:35 【问题描述】:我有一个 JLabel,其中保存了我的 ImageIcon,如下所示:
ImageIcon imageIcon = sample.map(); // a map method create an ImageIcon object
imageLabel.setIcon(imageIcon);
imageLabel.setVisible(true);
现在我想在单击保存项目菜单时将此 ImageIcon 对象保存到 PNG 文件中。
private void imageActionPerformed(java.awt.event.ActionEvent evt)
Icon pic = imageLabel.getIcon();
JFileChooser fileChooser = new JFileChooser("C:/");
fileChooser.setSelectedFile(file);
// this filter will allow just PNG extension
FileFilter filter = new MyCustomFilter2();
fileChooser.setFileFilter(filter);
int returnVal = fileChooser.showSaveDialog(this);
if (returnVal == JFileChooser.APPROVE_OPTION)
File fileToSave = fileChooser.getSelectedFile();
else
System.out.println("File access cancelled by user.");
是的,我知道这段代码是错误的,并且缺少某些部分,我想我应该以某种方式将名为 pic 的 Icon 对象保存到 File 对象中。这是我的假设。请问我该怎么做?
感谢您的帮助,
迈克尔。
这是我的源代码
private void imageActionPerformed(java.awt.event.ActionEvent evt)
try
Icon image = imageLabel.getIcon();
BufferedImage bi = new BufferedImage(image.getIconWidth(),image.getIconHeight(),BufferedImage.TYPE_INT_RGB);
Graphics g = bi.createGraphics();
File file = new File("outputFile");
JFileChooser fileChooser = new JFileChooser("C:/");
fileChooser.setSelectedFile(file);
FileFilter filter = new MyCustomFilter2();
fileChooser.setFileFilter(filter);
int returnVal = fileChooser.showSaveDialog(this);
if (returnVal == JFileChooser.APPROVE_OPTION)
ImageIO.write(bi, "PNG", file);
File fileToSave = fileChooser.getSelectedFile();
else
System.out.println("File access cancelled by user.");
catch(IOException e)
e.printStackTrace();
【问题讨论】:
【参考方案1】:JFileChooser 返回的File
对象仅表示用户希望保存文件的磁盘位置。之后,您需要使用ImageIO.write() 将文件保存到磁盘。
例如
ImageIO.write(image, "png", file);
如果您有图标,我认为您可能需要先将其转换为 BufferedImage,然后才能保存。
【讨论】:
感谢您的回答,但它不会保存任何文件(既不为空)。我已经编辑了我的帖子并将代码放在这里,你能帮帮我吗?谢谢。 我看到您的代码创建了图形对象,但我没有看到任何绘制图标的代码。我认为有一个名为paintIcon()
的方法看起来您的代码正在将缓冲图像保存到一个名为“outputfile”的文件中,而不是用户从对话框中选择的文件。如何从 JFileChooser 中放置图像?
】如何从JFileChooser中放置图像?【英文标题】:HowtoputanimagefromaJFileChooser?【发布时间】:2017-10-0707:16:02【问题描述】:我在使用Graphics将图像放入jPanel时遇到问题。我有下一个代码:JFileChoosernavegador=newJFileChooser();if(navegador.showOpen... 查看详情
如何使用 JFileChooser 保存 file.txt?
】如何使用JFileChooser保存file.txt?【英文标题】:Howtosavefile.txtwithJFileChooser?【发布时间】:2014-10-0823:16:25【问题描述】:我正在开发记事本项目,想知道如何保存文件.txt,我的问题是,我保持文件打开JFileChooser,在选择了要保... 查看详情
将 JFileChooser 添加到 Eclipse Window Builder
】将JFileChooser添加到EclipseWindowBuilder【英文标题】:AddJFileChoosertoEclipseWindowBuilder【发布时间】:2014-08-0320:17:05【问题描述】:我是Eclipse窗口构建器的新手,想用它创建一个简单的GUI。我想添加JFileChooser,但是在调色板中找不到... 查看详情
如何在 JFileChooser 中显示文件的默认系统图标?
】如何在JFileChooser中显示文件的默认系统图标?【英文标题】:HowtodisplaydefaultsystemiconforfilesinJFileChooser?【发布时间】:2013-07-1121:21:28【问题描述】:如何显示JFileChooser中文件的默认系统图标?即JFileChooser中文件的图标应该与桌... 查看详情
JFileChooser 将文件名作为空值传递
】JFileChooser将文件名作为空值传递【英文标题】:JFileChooserdeliversfilenameasnull【发布时间】:2014-02-2503:54:00【问题描述】:我一直在用Java编写音频/视频转换器。除了JFileChooser之外,一切都运行顺利。(我通常使用AWTFileDialog来选... 查看详情
如何使用 JFileChooser 保存文件?
】如何使用JFileChooser保存文件?【英文标题】:HowtosavefileusingJFileChooser?【发布时间】:2011-02-0115:04:57【问题描述】:我的应用程序中有一个名为“另存为”的方法,它将我的应用程序在计算机上的图像保存到文件中。我使用JFile... 查看详情
java示例代码_将文本文件保存在JFileChooser给定的路径中
java示例代码_将文本文件保存在JFileChooser给定的路径中 查看详情
将 JFileChooser 与 Swing GUI 类和侦听器一起使用
】将JFileChooser与SwingGUI类和侦听器一起使用【英文标题】:UsingaJFileChooserwithSwingGUIclassesandlisteners【发布时间】:2013-03-2115:39:25【问题描述】:这是我当前的菜单:publicclassDrawPolygonspublicstaticvoidmain(String[]args)throwsFileNotFoundException/**... 查看详情
如何在 Java 9+ 中使用 JFileChooser 显示网络共享?
】如何在Java9+中使用JFileChooser显示网络共享?【英文标题】:HowtodisplaynetworksharesusingJFileChooserinJava9+?【发布时间】:2019-04-1009:42:44【问题描述】:我们软件的用户需要在我们的Javaswing应用程序中浏览Windows10上的网络共享,但是swi... 查看详情
如何在 JFileChooser 保存对话框中处理问号或星号(“?”或“*”)?
】如何在JFileChooser保存对话框中处理问号或星号(“?”或“*”)?【英文标题】:HowdoIhandlequestionmarksorasterisks(\'?\'or\'*\')inJFileChoosersavedialog?【发布时间】:2021-06-0722:41:59【问题描述】:首先我创建一个JFileChooser,然后调用showS... 查看详情
java示例代码_JPanel内部的JFileChooser;如何让用户选择
java示例代码_JPanel内部的JFileChooser;如何让用户选择 查看详情
如何从 JFileChooser(JAVA Swing) 中禁用文件操作、文件选择和过滤面板?
】如何从JFileChooser(JAVASwing)中禁用文件操作、文件选择和过滤面板?【英文标题】:Howcanthedisablefileoperation,fileselectionandfilterpanelfromJFileChooser(JAVASwing)?【发布时间】:2009-04-2809:11:49【问题描述】:我需要在Panel中嵌入JFileChooser对话... 查看详情
java示例代码_:JFileChooser如何在文本字段中显示所选文件
java示例代码_:JFileChooser如何在文本字段中显示所选文件 查看详情
如何将icon转成bitmap
最近工作中有个需求是将Icon转成带Alpha通道的Bitmap,虽然网上有不少这方面的文章,但很多都是错的,这里记录下,或许对后来人有用。 要实现这个功能,我们首先需要理解Icon的格式,我们可以看到Icon的结构如下:typedef ... 查看详情
java示例代码_将字符串附加到已使用java中的JFileChooser选择的文件
java示例代码_将字符串附加到已使用java中的JFileChooser选择的文件 查看详情
使用 JFileChooser 过滤文件类型
】使用JFileChooser过滤文件类型【英文标题】:FilterfiletypeswithJFileChooser【发布时间】:2013-10-1813:59:16【问题描述】:我正在使用JFileChooser选择一个文件,并且我试图将显示限制为仅显示jpg或jpeg文件。我已经尝试过FileFilter和Choosable... 查看详情
如何使 JFileChooser 显示除 .huff 文件之外的所有类型的文件 [重复]
】如何使JFileChooser显示除.huff文件之外的所有类型的文件[重复]【英文标题】:HowtomakeJFileChoosershoweverytypeoffilesexcept.hufffiles[duplicate]【发布时间】:2021-02-2703:59:12【问题描述】:我正在开发一个实现Huffman算法的Java(Swing)程序。它需... 查看详情
如何将 flag-icon-css 与 angular2/4 一起使用?
】如何将flag-icon-css与angular2/4一起使用?【英文标题】:Howtouseflag-icon-csswithangular2/4?【发布时间】:2018-02-1922:04:18【问题描述】:我想将flag-icon-css与angular2/4一起使用。我使用npminstallflag-icon-css设置了flag-icon-css并在webpack样式中添... 查看详情