panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
答案 0 :(得分:1)
对panel
的{{1}}争论有些令人困惑。您需要指定BoxLayout
实例所附加的目标。此外,在基于BoxLayout
接口的许多方法中,LayoutManager2
要求传递BoxLayout
,并执行您在右侧传递的检查。
Y_AXIS是一个类变量,它是panel
方向的两个合法int值之一。你可以传递值0,但使用常量要好得多。
答案 1 :(得分:1)
好吧,主要是因为BoxLayout是一个旧的API,然后他们才知道更好。
如果您对灵活的现代布局管理器感兴趣,请使用MigLayout
答案 2 :(得分:0)
BoxLayout
很简单 - Y_AXIS
构造函数的参数(BoxLayout
)属于BoxLayout
类,因此您需要指定它。可能还有另一个Y_AXIS
值,这是一个错误的值。
这是封装的基础。
关于panel
双重提及,我无法确定。但似乎有必要告诉面板需要告诉它的布局管理器和布局管理器需要知道它应用于哪个面板(因为它需要知道面板的内容才能铺设他们聪明地出去了。)