2012-07-09 73 views
0

我創建一個JPanel和JScrollPane的,像這樣小:內JScrollPane的調整大小的JPanel - 從來沒有超過視

JPanel panel = new JPanel(); 
panel.setPreferredSize(5000, 5000); 
JScrollPane scrollPane = new JScrollPane(panel, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); 
scrollPanel.getViewport().setBackground(Color.GRAY); //panel is white 

我將使用事件處理程序動態調整面板。問題是,有時面板比視口小。我會設置面板的大小是這樣的:

panel.setPreferredSize(10, 10); //Just an example 

但面板永遠不會小於視口。我試着用

panel.setSize(10, 10); 

,我看到一個灰色的閃爍(視口的背景顯示通過),這表明面板的尺寸設置成什麼,我希望它是,但後來成長爲視口的大小。我怎樣才能阻止呢?

回答

3

要控制JViewport中的視圖大小,讓它實現Scrollable接口。沒有,它總是被強制爲視口的大小。

+0

謝謝,工作。只需設置所有內容以返回null/0/false。 – nuju 2012-07-25 22:16:18