【问题标题】:Adding a label to the center south of a panel?在面板的中心以南添加标签?
【发布时间】:2016-04-29 12:10:28
【问题描述】:

下面的代码将标签添加到面板的左南边,当我使用带有标签的设置位置时,位置不会改变。有没有办法让标签位于面板的中心南边而不需要额外的面板?

编辑: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);

【问题讨论】:

标签: java swing layout-manager


【解决方案1】:

您似乎需要将标签的文本对齐到中心面板? 如果是这样,试试这个:

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);

结果:

【讨论】:

  • 是的,您需要将 JLabel 设置为居中对齐 (1+)。但是,不需要第二个面板。只需将标签直接添加到框架中即可。
猜你喜欢
  • 2012-09-27
  • 1970-01-01
  • 1970-01-01
  • 2013-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多