以与其他组件相同的方式声明BoxLayout

时间:2014-01-25 16:52:46

标签: java swing boxlayout

您好我试图以声明BorderLayout的方式声明BoxLayout

声明borderlayout的方式

JPanel textFiled = new JPanel(new BorderLayout());
    textFiled.add(enterText,BorderLayout.CENTER);

但它不能与BoxLayout一起工作,因为它是一个组件和宽度,我看了一些教程,一些是声明一个方法,但我不想这样做,所以我试图把它放在其他JPanel,没有任何反应< / p>

JPanel t = new JPanel();
        t.add(startTime);
        t.add(endTime);

        JPanel timing = new JPanel(new BoxLayout(t, BoxLayout.PAGE_AXIS));

如果我将宽度设置为50,例如我选择了什么

,会发生什么

1 个答案:

答案 0 :(得分:3)

您无法在一个语句中创建面板并设置BoxLayout(就像您对BorderLayout所做的那样)。您需要使用两个语句,因为BoxLayout需要对要用作BoxLayout的面板的引用。

1)阅读How to Use Box Layout上Swing教程中的部分。它将向您展示如何使用BoxLayout创建面板以及如何向面板添加组件。

2)或者,您可以查看Box课程。这是一个便利类,允许您在单个语句中使用BoxLayout创建容器。

Box timing = new Box(...);
timing.add( t );

查看本教程的目录,因为它包含许多关于基本Swing功能的教程。