2010-01-28 36 views
1

這是我的問題:我可以用多個圖像創建JFrame嗎?

我有一個應用程序,每次迭代它返回給我一個圖像列表。這些圖像具有不同的尺寸,並且每次顯示的圖像數量都不相同。

有沒有辦法在jFrame中顯示所有圖像而無需知道要創建的jPanel的數量?有沒有簡單的方法來做到這一點?

Obs .:圖像應該同時顯示,如並排或列出,因爲它們用於比較目的。

觀察點2:每次顯示的圖像數量在20-60左右。

感謝

回答

1

從你的問題我認爲你就能夠顯示在JPanel圖像。在這種情況下,您可以保留JPanels的列表並動態更新此列表。當然,對JFrame繪製的佈局完全取決於你,但像這樣的工作,你可能需要使用GridLayoutBoxLayout

爲了保持JPanels的列表:

ArrayList<JPanel> panelList = new ArrayList<JPanel>(); 
... 
panelList.add(new JPanel()); 
... 
panelList.clear(); 
+0

@Erkan,你的解決方案對我來說工作得很好。謝謝 – marionmaiden 2010-01-29 10:57:06

3

這個解決方案應該工作:

class MyFrame extends JFrame 
{ 
MyFrame(Image images[]) 
{ 
JTabbedPane tabbed= new JTabbedPane(); 
setContentPane(tabbed); 
for(int i=0;i< images.length;++i) 
    { 
    tabbed.addTab("Image "+i, new JScrollPane(new JLabel(new ImageIcon(images[i])))); 
    } 
} 
+0

其實這使得很多更有意義比我的答案,所以+1 – 2010-01-28 15:34:27

+0

@Pierre,我並沒有說我的問題,但用戶應該能夠看到所有的圖像在同一時間。我不確定這可以用JTabbedPane完成。謝謝 – marionmaiden 2010-01-28 15:48:34

2

如果使用JInternalFrame這一點,你可以拖動圖片和改變大小了。

相關問題