下面的代码将标签添加到面板的左南部,当我将设置位置与标签一起使用时,位置不会更改。有没有一种方法可以使标签位于面板的中央,而无需额外的面板?

编辑:JFrame具有BorderLayout并将面板添加到CENTER

JPanel pnl = new JPanel();
pnl.setPreferredSize(new Dimension(500,500));
JLabel lbl = new JLabel("label");
pnl.setLayout(new BorderLayout());
pnl.add(lbl, BorderLayout.SOUTH);

最佳答案

似乎您需要将标签的文本对齐设置为中心面板?
如果是这样,请尝试以下操作:

JPanel pnl = new JPanel();
pnl.setPreferredSize(new Dimension(500, 500));
JLabel lbl = new JLabel("label", SwingConstants.CENTER); //Set text align
pnl.setLayout(new BorderLayout());
pnl.add(lbl, BorderLayout.SOUTH);
lbl.setBackground(Color.red);
lbl.setOpaque(true); //Test background
getContentPane().add(pnl);


结果:

java - 在面板南面的中心添加标签?-LMLPHP

09-25 23:08