下面是一個試圖展示你的問題的SSCCE的例子。也許你可以修改它向我們展示了這是怎麼回事:
import java.awt.*;
import javax.swing.*;
public class BoxLayoutEg {
public static void main(String[] args) {
JTextArea area1 = new JTextArea(10, 20);
JToggleButton toggleBtn = new JToggleButton("Foo");
JTextArea area2 = new JTextArea(10, 20);
JPanel toggleBtnPanel = new JPanel();
toggleBtnPanel.setLayout(new FlowLayout(FlowLayout.CENTER, 0, 0));
// toggleBtnPanel.setLayout(new GridLayout());
toggleBtnPanel.add(toggleBtn);
JPanel mainJPanel = new JPanel();
mainJPanel.setLayout(new BoxLayout(mainJPanel, BoxLayout.PAGE_AXIS));
mainJPanel.add(new JScrollPane(area1));
mainJPanel.add(toggleBtnPanel);
mainJPanel.add(new JScrollPane(area2));
JOptionPane.showMessageDialog(null, mainJPanel);
}
}
你可能希望發佈一個非常小的編譯和執行的程序演示你的問題,一個[SSCCE(http://sscce.org)。請檢查鏈接,因爲它對你和我們都很有幫助。另外,你是否使用BoxLayout.PAGE_AXIS作爲你的BoxLayout構造函數調用的第二個參數?運氣! –
我正在使用BoxLayout.Y_AXIS。 – user541597
BoxLayout.Y_AXIS與BoxLayout.PAGE_AXIS相同,我相信,所以這不是問題。再次,我推薦一個SSCCE,例如下面所示。 –