gpt4 book ai didi

Java GUI getComponent()、panel.remove()

转载 作者:行者123 更新时间:2023-12-01 14:37:41 24 4
gpt4 key购买 nike

我开始为我的国际象棋学校项目创建 GUI。在尝试实现人物移动时,我遇到了严重的困难。

我有一个窗口 LayerPane,它代表主应用程序窗口。在这个 LayerPane 中,我有下一个国际象棋 Pane ,我在其中放置了一个测试 Pane 。

所以它就像 - 窗口 - 棋盘 - 测试

我试图让测试 Pane 在单击时消失,如下所示。(由 NetBeans 生成的代码)

private void testingPaneMouseClicked(java.awt.event.MouseEvent evt) {                                           
Component Fig = evt.getComponent();

System.out.println(Fig);

jLayeredPane1.remove(Fig);
jLayeredPane1.repaint();
}

但是每当我单击测试 Pane 时,什么也没有发生。原因是 getComponent() 方法返回棋盘 Pane 而不是测试 Pane。

有什么建议吗?如何获取测试 Pane ?

当我尝试直接删除它时,它当然有效。

jLayeredPane1.remove(testingPane);

感谢任何帮助!

非常感谢!

最佳答案

调用revalidate(),应该可以解决问题:

panel.remove(child);
// tell the panel to re-calculate its internals
panel.revalidate();
// now repaint - doesn't get automatically called
panel.repaint()

关于Java GUI getComponent()、panel.remove(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16327482/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com