我正在尝试在一个JPanel中垂直对齐(居中)两个JLabel。
JPanel panel = new JPanel();
panel.setPreferredSize(size);
JLabel label1 = new JLabel(icon);
JLabel label2 = new JLabel("text");
panel.add(label1);
panel.add(label2);
我试过使用setAlignmentY(),但没有成功。这两个标签始终显示在JPanel的顶部。
UPD:标签应该像使用FlowLayout一样彼此相邻,但在JPanel的中间。
3条答案
按热度按时间5n0oy7gb1#
使用带有默认约束的
GridBagLayout
。下面是一个小的demo代码:z9smfwbn2#
你可以使用Nakul Sudhakar的2013年答案:
我使用了一个
BoxLayout
,并将它的第二个参数设置为BoxLayout.Y_AXIS
,它对我很有效:oyt4ldly3#
使用gridlayout,简单。应该可以
请看下面的例子:
其输出如下: