首页 文章

如何将图像保存到资源文件夹java swing中

提问于
浏览
1

我试图将图像文件保存在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.");
    }

com.aurav.auctionhouse.view.view.AdcessItems.access $ 000(AddItems)中的com.gaurav.auctionhouse.view.AddItems.jImageBtnActionPerformed(AddItems.java:213)中的线程“AWT-EventQueue-0”java.lang.NullPointerException中的异常.java:29)at com.gaurav.auctionhouse.view.AddItems $ 1.actionPerformed(AddItems.java:99)at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)at javax.swing.AbstractButton $ Handler.actionPerformed (AbstractButton.java:2348)位于javax.swing.plaf.basic.BasicButtonListener.mouseReleased的javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)的javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) Basic.ButtonListener.java:252)java.awt.Component.processMouseEvent(Component.java:6533)at java.awt.Component.processEvent(Component.java:6298)javax.swing.JComponent.processMouseEvent(JComponent.java:3324) )java.awt.Component上的java.awt.Container.processEvent(Container.java:2237)java.awt.Component.dispatchEventImpl(Component.java) :4889)java.awt.Container.dispatchEventImpl(Container.java:2295)at java.awt.Component.dispatchEvent(Component.java:4711)at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4889)at java .awt.LightweightDispatcher.processMouseEvent(Container.java:4526)位于java.awt.Window的java.awt.LightweightDispatcher.dispatchEvent(Container.java:4467)java.awt.Container.dispatchEventImpl(Container.java:2281) . dispatchEventImpl(Window.java:2746)位于java.awt.EventQueue.access上的java.awt.Component.dispatchEvent(Component.java:4711)java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)$ 500(EventQueue . java:97 . java.awt.EventQueue $ 3.run(EventQueue.java:709)java.awt.EventQueue $ 3.run(EventQueue.java:703)at java.security.AccessController.doPrivileged(Native Method)at java .security.ProtectionDomain $ JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)at java.security.ProtectionDomain $ JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.jav a:90)java.awt.EventQueue $ 4.run(EventQueue.java:731)at java.awt.EventQueue $ 4.run(EventQueue.java:729)at java.security.AccessController.doPrivileged(Native Method)

1 回答

  • 4
    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());
             }
        }
    }
    

相关问题