为了账号安全,请及时绑定邮箱和手机立即绑定

添加的 JPanel 仅在从其他方法添加时才显示?

添加的 JPanel 仅在从其他方法添加时才显示?

米琪卡哇伊 2022-10-26 16:22:21
我正在尝试创建一个首先添加 JPanel 行的程序。添加 JPanel 后,您可以通过单击“添加水平”并指定应添加正方形的行索引(从 0 开始)来添加正方形。我正在尝试JPanel使用已添加的这些方块之一来添加我的。但是,这个第一个方块没有出现。当我添加另一个正方形时,就好像该正方形在那里,但只是不可见。您可以在所附图像中看到这一点的演示,其中索引 2 和索引 3 的第一个正方形在没有JLabel添加的情况下根本不可见。如何修改我的代码,以便在JButton单击“添加垂直”后立即显示第一个方块?
查看完整描述

1 回答

?
长风秋雁

TA贡献1757条经验 获得超7个赞

eventPanel.setPreferredSize( new Dimension(50, newPanel.getHeight() ) );

创建组件时,组件的大小为 (0, 0)。

因此,您将 eventPanel 的首选大小设置为 (50, 0),这意味着添加的组件不会被看到,因为面板的高度为 0。

您只需要mainPanel 上的revalidate()and 。repaint()这将导致布局管理器被调用,并且 mainPanel 的所有子组件都将被重新绘制。

此外,也不需要 eventPanel。您可以直接将标签添加到 newPanel。你只需要确保你使用:

label.setOpaque(true);

所以标签的背景将被绘制。

当您使用标签时,无需设置最大/最小尺寸,因为它们等于首选尺寸。


查看完整回答
反对 回复 2022-10-26
  • 1 回答
  • 0 关注
  • 76 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信