1

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

4

1 回答 1

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);

   }
}
于 2011-09-14T02:43:35.243 回答