[英]How to save an image using JFileChooser
背景信息:我制作了一个使用 JFileChooser 上传图像的程序,并填充了 JFrame 的空间。
我的问题:我已经尝试在保存按钮上实现我的方法,到目前为止我可以拉出 JFileChooser 但它实际上不会保存图像。 那么我 go 如何保存我之前使用 JFileChooser 上传的相同图像? 我见过很多例子,但并不真正理解它们。
我的浏览img代码:
// When button pressed, allows user to browse inventory
BrowseButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JFileChooser file = new JFileChooser();
file.setCurrentDirectory(new File(System.getProperty("user.home")));
// Filter files
FileNameExtensionFilter filter = new FileNameExtensionFilter("*.Images", "jpg",
"png");
file.addChoosableFileFilter(filter);
int res = file.showSaveDialog(null);
if(res == JFileChooser.APPROVE_OPTION) {
File selFile = file.getSelectedFile();
String path = selFile.getAbsolutePath();
label.setIcon(resize(path));
} // End if
} // End actionPerformer
}); // End ActionListener
我的保存 img 代码:
// Save file
saveButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileFilter(new FileNameExtensionFilter("*.png", "png"));
if (fileChooser.showSaveDialog(null) == JFileChooser.APPROVE_OPTION) {
File file = fileChooser.getSelectedFile();
String img = file.getAbsolutePath();
} // End if
} // End actionPerformed
}); // End ActionListener
更新保存 img 代码:
// Save getFile
saveButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JFileChooser saveFile = new JFileChooser();
saveFile.setCurrentDirectory(new File(System.getProperty("user.home")));
// Filter files
FileNameExtensionFilter filter2 = new FileNameExtensionFilter(".Images", "jpg", "png");
saveFile.addChoosableFileFilter(filter2);
int f1 = saveFile.showSaveDialog(null);
if(f1 == JFileChooser.APPROVE_OPTION) {
File file = saveFile.getSelectedFile();
try {
ImageIO.write(selFile, "png", file);
} catch (IOException e1) {
e1.printStackTrace();
}
} // End if
} // End actionPerformed
}); // End ActionListener
BufferedImage getImg;
private String path1;
private final JButton saveButton = new JButton("Save");
saveButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JFileChooser getFile = new JFileChooser();
getFile.setCurrentDirectory(new File(System.getProperty("user.home")));
// Filter files
FileNameExtensionFilter filter1 = new FileNameExtensionFilter("*.Images", "jpg",
"png");
getFile.addChoosableFileFilter(filter1);
int res = getFile.showSaveDialog(null);
if(res == JFileChooser.APPROVE_OPTION) {
selFile1 = getFile.getSelectedFile();
path1 = selFile1.getAbsolutePath();
label.setIcon(resize(path1));
System.out.println("1st selFile1 = " + selFile1);
try {
ImageIO.write(getImg, "jpg", selFile1);
} catch (IOException ex) {
}
} // End if
} // End actionPerformer
}); // End ActionListener
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.