java gui boxlayout问题

时间:2011-09-14 02:19:33

标签: java swing user-interface boxlayout

我正在开发一个没有任何netbeans帮助的java gui应用程序硬编码。我正在使用我的gui的盒子布局。我的问题很简单,我在网上看到,boxlayout应该将元素叠加在一起。但是,我有一个textarea(x,y)切换按钮和另一个textarea(x,y)显示时,我的第一个文本区域和切换按钮之间有一个间隙,切换按钮和第二个textarea之间有一个间隙。为什么他们没有堆叠! 谢谢,

1 个答案:

答案 0 :(得分:2)

这是一个试图证明你的问题的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);

   }
}