我在使用FlowLayout的JPanel上有一堆按鈕。它看起來非常好。當按鈕到達面板的右側時,它們從新的一排開始創建一個漂亮的二維網格。FlowLayout不與JScrollPane一起流動
下面是代碼:
Container cp = getContentPane();
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
for (int i = 0; i < 20; i++)
panel.add(new JButton("Button " + i));
cp.add(panel);
然而,我把面板在滾動窗格只有垂直滾動分鐘:
Container cp = getContentPane();
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
for (int i = 0; i < 20; i++)
panel.add(new JButton("Button " + i));
JScrollPane pane = new JScrollPane(
panel,
ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
cp.add(pane);
的按鈕僅在一個行所示(和我什至不能看到右邊的那些)。我仍然希望他們包裝。這裏發生了什麼?順便說一句,我只需要顯示垂直滾動條和沒有水平滾動條。我希望按鈕在到達最後時換行。
你爲什麼不讀你最後一個問題的答案? – camickr 2011-04-20 19:30:54
我在最後一個問題中看過答案(實際上,我評論了其中的幾個問題)。我意識到我在問錯誤的問題。我確實需要一個FlowLayout。我只是混淆了爲什麼添加JScrollPane會導致按鈕到達右側時不換行到新行。 – 2011-04-20 19:33:47
如果你這麼說,但我在2小時前給你答案。 – camickr 2011-04-20 19:44:44