背景資訊:我制作了一個使用 JFileChooser 上傳影像的程式,并填充了 JFrame 的空間。
我的問題:我嘗試在保存按鈕上實作我的方法,到目前為止我可以拉起 JFileChooser 但它實際上不會保存影像。那么我將如何保存我之前使用 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
uj5u.com熱心網友回復:
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
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/434905.html
下一篇:在Java中對齊圖形時遇到問題
