我知道如何在单独的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)。
答案 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数组。如果你的图像名称想要是任意名称,那么你可以得到相同的图像。
并且你应该有一个逻辑来正确循环图像。你应该限制我的图像数量。否则我超过后的图像不存在
输出>>