Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaGUI布局问题_Java_Swing_User Interface_Boxlayout - Fatal编程技术网

JavaGUI布局问题

JavaGUI布局问题,java,swing,user-interface,boxlayout,Java,Swing,User Interface,Boxlayout,我正在开发一个java gui应用程序硬编码,没有任何netbeans帮助。我正在为我的gui使用方框布局。我的问题很简单,因为我看到在线boxlayout应该将元素堆叠在彼此之上。但是,我有一个文本区域(x,y)、一个切换按钮和另一个文本区域(x,y)。当显示该文本区域时,我的第一个文本区域和切换按钮之间存在间隙,切换按钮和第二个文本区域之间存在间隙。为什么他们没有被堆叠起来! 谢谢,这里是一个SSCCE示例,它试图演示您的问题。也许您可以修改它来向我们展示发生了什么: import java

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

这里是一个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);

   }
}

您可能希望发布一个非常小的可编译且可运行的程序来演示您的问题,一个。请查看链接,因为它对您和我们都非常有帮助。另外,您是否正在使用
BoxLayout.PAGE_AXIS
作为BoxLayout构造函数调用的第二个参数?祝你好运!我相信BoxLayout.Y_轴与BoxLayout.PAGE_轴相同,所以这不是问题所在。同样,我建议使用SSCCE,例如如下所示。