【问题标题】:Cannot add label in JPanel无法在 JPanel 中添加标签
【发布时间】:2015-12-03 09:50:05
【问题描述】:

我想在 JPanel 中添加标签。

下面是代码和屏幕。

JPanel tableListPanel = new JPanel(new BorderLayout(5, 5));
        tableListPanel.setPreferredSize(new Dimension(150, 100));
        tableListPanel.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createEmptyBorder(0, 5, 5, 5),
                BorderFactory.createTitledBorder("Added Tables")));

        PosButton btnRemoveTable = new PosButton("REMOVE");

      // code to add lable.
      tableListPanel.add(new JLable("Test")):

【问题讨论】:

  • 你要在哪里添加标签,我看不到这部分代码?
  • 您有一个BorderLayout 用于面板,但您没有告诉面板在哪里添加标签... NORTH、SOUTH、CENTER...?
  • 另外,如果您不将其添加到 CENTER 中,则标签应具有首选尺寸。
  • 除了标签之外,您可能还添加了其他内容吗? BorderLayout 中的每个位置只能容纳一个组件。
  • 正如Jan 已经建议的那样,请帮助那些试图帮助你的人:添加一个可运行的问题示例(有关更多信息,请参阅stackoverflow.com/help/mcve)。这将使重现和解决问题更快。

标签: java swing jpanel


【解决方案1】:

改变这一行:

tableListPanel.add(new JLabel("Test")):

为:

tableListPanel.add(new JLabel("Test"), BorderLayout.WEST): 
//You can also use BorderLayout.EAST, BorderLayout.NORTH or BorderLayout.SOUTH

已编辑:

可能还想更改此设置(仅当第一个更改本身不起作用时):

JPanel tableListPanel = new JPanel(new BorderLayout(5, 5));

为:

JPanel tableListPanel = new JPanel(new BorderLayout());

2017 年 10 月 3 日编辑:

为 JLabel 更改了 JLable。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-05
    相关资源
    最近更新 更多