Java 在Swing卡布局中定位对象

Java 在Swing卡布局中定位对象,java,swing,Java,Swing,我正在尝试使用Swing创建卡片布局。我的一张卡片上有: Panel p3 = new Panel(); p3.add(new Label("HELLO")); p3.add(new Button("MyButton")); 看起来不错。但是,我现在想在下面添加一个进一步的标签/按钮,但如果我尝试: p3.add(new Label("HELLOTWO")); p3.add(new Button("MyButtonTWO")); 这些将水平放置,而不是垂直放置,有没有关于如何避免此

我正在尝试使用Swing创建卡片布局。我的一张卡片上有:

 Panel p3 = new Panel();
 p3.add(new Label("HELLO"));
 p3.add(new Button("MyButton"));
看起来不错。但是,我现在想在下面添加一个进一步的标签/按钮,但如果我尝试:

 p3.add(new Label("HELLOTWO"));
 p3.add(new Button("MyButtonTWO"));
这些将水平放置,而不是垂直放置,有没有关于如何避免此类问题的建议


谢谢

问题在于
JPanel
正在使用一个
FlowLayout
,作为名称建议,它将一个接一个地流动组件

在不添加其他第三方库的情况下,最好的选择可能是使用
GridBagLayout
。值得注意的是,
GridBagLayout
是core Swing API中最强大、最复杂的布局管理器之一


查看有关如何使用布局管理器的更多详细信息

不,无论你说什么都不应该发生。请发布@Sage
JPanel
默认情况下使用
FlowLayout
,因此组件将水平放置在彼此相邻的位置……还是我读错了…?@MadProgrammer,查看标题;)@看看p3…)。。。“我的一张卡片上有…”-误导(我希望是:P)@MadProgrammer,看看初始化类:
Panel()
:P。是的,完全误导