我正在尝试创建一个首先添加 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);
所以标签的背景将被绘制。
当您使用标签时,无需设置最大/最小尺寸,因为它们等于首选尺寸。
添加回答
举报
0/150
提交
取消