如何将图像保存到资源文件夹java swing
我试图在netbeans中的资源文件夹中保存图像文件,但在查找资源文件夹的路径时遇到问题 我的代码如下:如何将图像保存到资源文件夹java swing,java,netbeans,Java,Netbeans,我试图在netbeans中的资源文件夹中保存图像文件,但在查找资源文件夹的路径时遇到问题 我的代码如下: JFileChooser fileChooser = new JFileChooser(); FileNameExtensionFilter filter = new FileNameExtensionFilter("*.Images", "jpg", "gif", "png", "jpeg"); fileChooser.addChoosableFileFilter(filt
JFileChooser fileChooser = new JFileChooser();
FileNameExtensionFilter filter = new FileNameExtensionFilter("*.Images", "jpg", "gif", "png", "jpeg");
fileChooser.addChoosableFileFilter(filter);
int result = fileChooser.showSaveDialog(null);
if (result == JFileChooser.APPROVE_OPTION) {
path = fileChooser.getSelectedFile().getAbsolutePath();
filename = fileChooser.getSelectedFile().getName();
String fullPath = getClass().getResource("/resource").toString();
System.out.println(fullPath);
System.out.println(filename);
System.out.println(path);
Image img = null;
try {
img = ImageIO.read(fileChooser.getSelectedFile());
} catch (IOException ex) {
Logger.getLogger(AddItems.class.getName()).log(Level.SEVERE, null, ex);
}
ImageIcon image = new ImageIcon(img.getScaledInstance(208, 104, 208),path);
jlblImage.setIcon(image);
} else {
JOptionPane.showMessageDialog(null, "No file selected.");
}
线程“AWT-EventQueue-0”java.lang.NullPointerException中出现异常
在com.gaurav.auctionhouse.view.AddItems.jImageBtnActionPerformed上(AddItems.java:213)
访问com.gaurav.auctionhouse.view.AddItems.access$000(AddItems.java:29)
在com.gaurav.auctionhouse.view.AddItems$1.actionPerformed上(AddItems.java:99)
在javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
位于javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
在javax.swing.DefaultButtonModel.fireActionPerformed上(DefaultButtonModel.java:402)
在javax.swing.DefaultButtonModel.setPressed中(DefaultButtonModel.java:259)
在javax.swing.plaf.basic.BasicButtonListener.MouseRelease(BasicButtonListener.java:252)
位于java.awt.Component.ProcessMouseeEvent(Component.java:6533)
位于javax.swing.JComponent.ProcessMouseeEvent(JComponent.java:3324)
位于java.awt.Component.processEvent(Component.java:6298)
位于java.awt.Container.processEvent(Container.java:2237)
位于java.awt.Component.dispatchEventImpl(Component.java:4889)
位于java.awt.Container.dispatchEventImpl(Container.java:2295)
位于java.awt.Component.dispatchEvent(Component.java:4711)
位于java.awt.LightweightDispatcher.RetargetMouseeEvent(Container.java:4889)
位于java.awt.LightweightDispatcher.ProcessMouseeEvent(Container.java:4526)
位于java.awt.LightweightDispatcher.dispatchEvent(Container.java:4467)
位于java.awt.Container.dispatchEventImpl(Container.java:2281)
位于java.awt.Window.dispatchEventImpl(Window.java:2746)
位于java.awt.Component.dispatchEvent(Component.java:4711)
位于java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
在java.awt.EventQueue.access$500(EventQueue.java:97)
在java.awt.EventQueue$3.run(EventQueue.java:709)
在java.awt.EventQueue$3.run(EventQueue.java:703)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
位于java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
在java.awt.EventQueue$4.run(EventQueue.java:731)
在java.awt.EventQueue$4.run(EventQueue.java:729)
位于java.security.AccessController.doPrivileged(本机方法)
private void jbtnSubmitActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String itemname = jtxtItemName.getText();
String category = jcboCategory.getSelectedItem().toString();
String description = jtxtAreaDescription.getText();
String reservedPrice = jtxtReservedPrice.getText();
String image =filename;
if (itemname.isEmpty() || category.isEmpty() || description.isEmpty() || reservedPrice.isEmpty() || image.isEmpty()) {
JOptionPane.showMessageDialog(null, "All fields are required.");
} else {
Item item = new Item(category, description, reservedPrice, itemname, image);
try {
int i = itemdao.createItem(item);
if(i> 0 ){
File sourceFile = new File(path);
File destinationFile = new File("resources/Image/"+ filename);
BufferedReader reader;
PrintWriter writer;
try {
reader = new BufferedReader(new FileReader(sourceFile));
writer = new PrintWriter(new FileWriter(destinationFile));
reader.close();
writer.close();
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Failed to save Image");
}
//Paths.get(resource.toURI()).toFile();
JOptionPane.showMessageDialog(null, "Successfully saved item");
}
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, ex.getMessage());
}
}
}