2009-04-11 54 views
0

我想在窗口上顯示一組圖像(以及相關文本)。我想使用上一個和下一個按鈕遍歷它們。到目前爲止,我只能將圖像與JLabel關聯。 =/使用NetBeans設置圖像庫

我該如何去做其餘的事情?我應該爲整套使用不同的容器嗎?我應該在像ArrayList這樣的數據結構上加載圖像嗎,還是將它們放在文件夾上足夠?我如何添加事件處理,以便按下按鈕顯示下一個或上一個圖像?

這是我到目前爲止的screenshot

回答

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 
    } 
} 

希望這有助於...

+1

這是早已解決使用類似的方法。感謝您的回答,我接受它導致項目結束使用幾乎相同的代碼。 – andandandand 2010-11-05 13:57:35