如何在 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);
}
}
}
}