所以我用一个JFileChooser创建了一个简单的图像查看器程序,其中我将图像加载到标签的图标中。我还保存了目录位置。我的主应用程序中有两个按钮,上一个和下一个,我如何制作它,以便当我按下它们时,它们从同一目录加载上一个图像或下一个图像?我想这将是某种形式的正则表达式搜索加上或减去一个整数,但我不确定这看起来如何,我在正则表达式上并不那么明亮。
我应该补充一点,我有一个方法,绘制(BufferedImage图像),它接受发送给它的BufferedImage并在JLabel上绘制它,以及一个方法loadImage(文件文件),它加载发送给它的任何图像。所以我加载文件然后绘制它。
答案 0 :(得分:1)
我还保存了目录位置
然后,您可以使用File.listFiles(...)获取目录中所有文件的数组。您可能希望将其过滤为仅获取图像文件。
然后你想要按文件名对这个数组进行排序。
当您需要下一张/上一张图像时,您可以搜索数组以查找当前可见图像的索引,然后添加/减去1以显示下一张图像。
编辑:
答案 1 :(得分:1)
您可以使用dir.listFiles( aFileFilter )
列出目录中的所有文件。给自己写一个FileFilter(一个很好的匿名者),它只匹配所需类型的文件(扩展名为.jpg,.png,.bmp,.gif的文件)。
一个例子:
File[] images = dir.listFiles( new FileFilter() {
@Override
public boolean accept( File pathname ) {
String name = pathname.getName();
return name.endsWith( ".png" ) || name.endsWith( ".jpg" );
}
} );
拥有该文件数组后,您可以使用线性搜索找到当前文件的位置,然后轻松选择下一个或上一个文件。