Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Swing中加载多个文件_Java_Image_Swing_Upload_Jfilechooser - Fatal编程技术网

Java 在Swing中加载多个文件

Java 在Swing中加载多个文件,java,image,swing,upload,jfilechooser,Java,Image,Swing,Upload,Jfilechooser,如何在Swing中加载多个文件 我有一个单一的文件上传按钮,然后我保存在字节形式的文件,如何更改代码,以便我可以上传多个文件。我已经试过很多次了,但我遇到了麻烦。。我希望有人能帮助我 byte[] FileSurat; String FilenameSurat; File imageSurat; private void botton10ActionPerformed(java.awt.event.ActionEvent evt) {

如何在Swing中加载多个文件

我有一个单一的文件上传按钮,然后我保存在字节形式的文件,如何更改代码,以便我可以上传多个文件。我已经试过很多次了,但我遇到了麻烦。。我希望有人能帮助我

byte[] FileSurat;
String FilenameSurat;
File  imageSurat;

private void botton10ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    if (idPemohon == 0 && idRencanaTapak == 0){
        JOptionPane.showMessageDialog(this, "Pilih Data Yang akan di Upload");
    }else{

        JFileChooser chooser = new JFileChooser();
        chooser.setCurrentDirectory(new File(System.getProperty("user.home")));
        chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
        chooser.addChoosableFileFilter(new FileNameExtensionFilter("Images", "jpg", "png", "gif", "bmp"));
        chooser.setAcceptAllFileFilterUsed(true);

        int i = chooser.showOpenDialog(this);
        if (i == JFileChooser.APPROVE_OPTION) {
             if(labelSurat != null){

                FileSurat = null;
                FilenameSurat = null;
                jPanel2.remove(labelSurat);
                jPanel2.validate();
                jPanel2.repaint();
            }
            try {
                imageSurat = chooser.getSelectedFile();
                String filename = chooser.getSelectedFile().getName();
                String extension = "";

                int y = filename.lastIndexOf('.');
                if (y > 0) {
                    extension = filename.substring(y+1);
                }

                String xx = chooser.getTypeDescription(imageSurat);
                if("JPEG image".equals(xx) || "PNG image".equals(xx) || "JPG image".equals(xx) || "GIF image".equals(xx) || "BMP image".equals(xx)){
                    BufferedImage originalImage = ImageIO.read(imageSurat);
                    if(originalImage == null){
                        JOptionPane.showMessageDialog(rootPane, "Format file corrupt");
                    }else{
                        int type = originalImage.getType() == 0 ? BufferedImage.TYPE_INT_ARGB : originalImage.getType();
                        BufferedImage resizeImageJpg = resizeImage(originalImage, type);
                        photoSurat = new ImageIcon(toImage(resizeImageJpg));
                    }
                }else{
                    ico = new File(getClass().getResource("/images/no-image.png").getFile());
                    BufferedImage originalImage = ImageIO.read(ico);
                    int type = originalImage.getType() == 0 ? BufferedImage.TYPE_INT_ARGB : originalImage.getType();

                    BufferedImage resizeImageJpg = resizeImage(originalImage, type);
                    photoSurat = new ImageIcon(toImage(resizeImageJpg));
                }

                FilenameSurat = extension;
                FileSurat = new byte[(int) imageSurat.length()];
                FileInputStream fileInputStream = new FileInputStream(imageSurat);
                fileInputStream.read(FileSurat);

                //jPanel2.removeAll();


                labelSurat = new JLabel("", photoSurat, JLabel.RIGHT);
                jPanel2.add(labelSurat);

                ico = null;
                repaint();
                chooser.setCurrentDirectory(imageSurat);
            } catch (IOException ex) {
                Logger.getLogger(formUtama.class.getName()).log(Level.SEVERE, null, ex);
            }

        }
    }
}    

JFileChooser
切换为allow,然后使用该方法获取
File
s的数组,而不是单个数组


使用与您拥有的代码相同的代码在数组上循环,完成操作

切换
JFileChooser
以允许,然后使用该方法获得一个
文件
数组,而不是一个数组


使用与现有代码相同的代码在阵列上循环,并完成操作

有关显示多个图像的两种方式(多种方式),请参见的多个图像部分


有关形成图像文件过滤器的更好方法(而非硬编码类型),请参阅。

有关显示多个图像的两种方法(多种方法),请参阅的多个图像部分

有关形成图像文件过滤器的更好方法(而不是硬编码类型),请参阅。

“我已经尝试过很多次了”您特别厌倦了什么?“但我有麻烦”什么麻烦?始终复制/粘贴错误和异常输出。请学习类、方法和属性名称的通用(特别是用于名称的大小写)并一致使用它们。顺便问一句-您确定您的意思是(该代码不这样做),而不是加载和显示(它这样做)。“我已经尝试了很多次”您特别厌倦了什么?“但我有麻烦”什么麻烦?始终复制/粘贴错误和异常输出。请学习类、方法和属性名称的通用(特别是用于名称的大小写)并一致使用它们。顺便说一句-您确定您的意思是(代码没有这样做),而不是加载和显示(代码有这样做)。