在Netbeans JFrame中显示一组图像

时间:2014-10-26 12:03:35

标签: java swing jframe jpanel bufferedimage

我知道如何在单独的JFrame 中显示图像。

public static void displayImage(BufferedImage img) {
    JFrame f = new JFrame();
    f.add(new JLabel(new ImageIcon(img)));
    f.pack();
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.setVisible(true);

但是我想要一种方法在一个JFrame(或合适的元素)中显示所有图像,所以我可以使用两个按钮在"下一个""上一个& #34)。

1 个答案:

答案 0 :(得分:1)

实际上你并不需要多帧。你甚至不需要多个jpanels。只需一个jlable即可。

当您按下按钮时,您需要做的就是更改jlable的图像。

1)将你的图像放在一个目录中并给出一个名字.names应该有模式

例如

 C:\Users\Madhawa.se\Desktop\images\i1.jpg 
 C:\Users\Madhawa.se\Desktop\images\i2.jpg
 C:\Users\Madhawa.se\Desktop\images\i3.jpg
 C:\Users\Madhawa.se\Desktop\images\i4.jpg
 C:\Users\Madhawa.se\Desktop\images\i5.jpg

2)将int变量声明为全局

int i=0;

3)单击下一步按钮时将i增加一,并将适当的图像添加到标签

i++;
ImageIcon imgThisImg = new ImageIcon("C:\\Users\\Madhawa.se\\Desktop\\images\\i"+i+".jpg");

jLabel1.setIcon(imgThisImg);

4)点击上一个按钮将i减少一个并将适当的图像添加到标签

i--;
ImageIcon imgThisImg = new ImageIcon("C:\\Users\\Madhawa.se\\Desktop\\images\\i"+i+".jpg");

jLabel1.setIcon(imgThisImg);

你也可以声明保存图像路径的String数组。如果你的图像名称想要是任意名称,那么你可以得到相同的图像。

并且你应该有一个逻辑来正确循环图像。你应该限制我的图像数量。否则我超过后的图像不存在

输出>>

enter image description here