使用NetBeans设置图像库

时间:2009-04-11 03:56:51

标签: java netbeans image event-handling

我想在我的窗口上显示一组图像(带有相关文本)。我想使用上一个和下一个按钮迭代它们。到目前为止,我只能将图像与JLabel相关联。 = /

我该怎么做呢?我应该为整套使用不同的容器吗?我应该在像ArrayList这样的数据结构上加载图像,还是将它们保存在文件夹中?如何添加事件处理以便按下按钮显示下一个或上一个图像?

这是我目前所拥有的screenshot

1 个答案:

答案 0 :(得分:1)

你还在吗?

我假设你已经找到了如何加载每个图像的路径(如果它们在同一个文件夹中)。您应该将目录的路径存储在全局变量中,然后将每个图像的名称存储到Vector中(如果要迭代它们)。只需存储文件的名称,而不是整个图像。 您还必须将当前图像的索引存储为全局变量。

如果使用JFrame作为主窗口,则必须指定它以这种方式实现ActionListener类:

public class MyClass extends JFrame implements ActionListener

然后你必须将事件处理程序附加到按钮(JButton)。这必须放在窗口的构造函数(MyClass)中:

nextButton.addActionListener(this);
previousButton.addActionListener(this);

实现了ActionListener后,您的类必须定义actionPerformed方法。在其中,您必须根据已按下的按钮更改图像的内容。

public void actionPerformed(ActionEvent e)
{
     Object o = e.getSource();
     if(o == nextButton)
     {
          currentIndex++;
          if(currentIndex == vectorImages.size())
          {
               currentIndex = 0;
          }
          //Change the image in the JLabel
          label.setIcon(new ImageIcon(vectorImages.get(currentIndex)));
     }
     else
     {
          //Iterate backwards
     }
}

希望这会有所帮助......