你好,我正在尝试以与声明 BorderLayout 相同的方式声明 BoxLayout
声明borderlayout的方式
JPanel textFiled = new JPanel(new BorderLayout());
textFiled.add(enterText,BorderLayout.CENTER);
但它不能与 BoxLayout 一起使用,因为它适用于一个组件和宽度,我看了一些教程,其中一些声明了一种方法,但我不想这样做,所以我尝试将它放在其他 JPanel 中,但没有任何反应
JPanel t = new JPanel();
t.add(startTime);
t.add(endTime);
JPanel timing = new JPanel(new BoxLayout(t, BoxLayout.PAGE_AXIS));
如果我将宽度设置为 50 会发生什么以及我的选择
最佳答案
您无法在一条语句中创建面板并设置 BoxLayout(就像对 BorderLayout 所做的那样)。您需要使用两个语句,因为 BoxLayout 需要对要用作 BoxLayout 的面板的引用。
1) 阅读 Swing 教程中 How to Use Box Layout 的部分。它将向您展示如何使用 BoxLayout 创建面板以及如何向面板添加组件。
2) 或者,您可以查看 Box
类。它是一个方便的类,允许您在单个语句中使用 BoxLayout 创建容器。
Box timing = new Box(...);
timing.add( t );
查看本教程的目录,因为它包含许多有关基本 Swing 功能的教程。
关于java - 以与其他组件相同的方式声明 BoxLayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21353339/