如何使用JFileChoose加载图像文件夹并添加下一个,上一个按钮在JLabel中逐一预览图像?

时间:2019-07-07 14:24:37

标签: java swing jfilechooser

enter image description here 我设置了带有Jlabel的JFrame以查看其中的图像,并且我从一个文件夹上传了该图像,并在选择带有Jfilechooser按钮的文件夹后添加了下一个和上一个按钮以获取该标签中的下一个和上一个图像视图。 加载文件夹并单击要查看的第一个图像后,然后按下一步按钮继续进行加载后,在Jlabel中没有任何图像,这是一个没有图像的黑屏..它仅显示我单击的第一幅图像在其中,下一个按钮无法获取下一个

从JFileChooser获取图像的第一种方法

private String[] getImages() {
    imgch = new JFileChooser(".");
    // File file = new File(getClass().getResource("/").getFile());
    File file = imgch.getCurrentDirectory();
    String[] imagesList = file.list();            
    return imagesList;     
  } 

第二:显示图像

private void showImage(int index) throws IOException {
    String[] imagesList = getImages();
    String imageName = imagesList[index];
    File file = imgch.getSelectedFile();
    ImageIcon icon = new ImageIcon(file+imagesList);
          Image newImg = 
   icon.getImage().getScaledInstance(canvas.getWidth(), 
    canvas.getHeight(), Image.SCALE_SMOOTH);

    viewer.setIcon(new ImageIcon(newImg));
}

1 个答案:

答案 0 :(得分:0)

通过更改showImage()中的这一行来解决          File file = imgch.getSelectedFile();
至         File file = imgch.getCurrentDirectory();        path = file.getAbsolutePath().concat("/"+imageName); 然后将“路径”传递到ImageIcon