在面板的中心以南添加标签?
Adding a label to the center south of a panel?
下面的代码将标签添加到面板的左南,当我对标签使用 set location 时,位置没有改变。有没有办法让标签位于面板的中央以南而不需要额外的面板?
编辑: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);
结果:
下面的代码将标签添加到面板的左南,当我对标签使用 set location 时,位置没有改变。有没有办法让标签位于面板的中央以南而不需要额外的面板?
编辑: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);
结果: