Как сохранить изображение в папке ресурсов java swing - PullRequest
0 голосов
/ 12 мая 2018

Я пытаюсь сохранить файл изображения в папке ресурса в NetBeans, но у меня проблема с поиском пути к папке ресурса.

Мой код ниже:

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.mouseReleased (BasicButtonListener.java:252) в java.awt.Component.processMouseEvent (Component.java:6533) в javax.swing.JComponent.processMouseEvent (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.retargetMouseEvent (Container.java:4889) в java.awt.LightweightDispatcher.processMouseEvent (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) at java.awt.EventQueue $ 3.run (EventQueue.java:709) at java.awt.EventQueue $ 3.run (EventQueue.java:703) at java.security.AccessController.doPrivileged (собственный метод) в java.security.ProtectionDomain $ JavaSecurityAccessImpl.doIntersectionPrivilege (ProtectionDomain.java:80) в java.security.ProtectionDomain $ JavaSecurityAccessImpl.doIntersectionPrivilege (ProtectionDomain.java:90) at java.awt.EventQueue $ 4.run (EventQueue.java:731) at java.awt.EventQueue $ 4.run (EventQueue.java:729) at java.security.AccessController.doPrivileged (собственный метод)

1 Ответ

0 голосов
/ 12 мая 2018
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());
         }
    }
}                        
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...