【问题标题】:Jpanel Ghost Pieces in Chess GameJpanel 国际象棋中的幽灵棋子
【发布时间】:2019-04-19 08:06:38
【问题描述】:

所以我正在为正在编写的游戏的控制台变体之后的课程编写国际象棋 gui。我一直在为此使用swing gui工具,我遇到了一个问题,每次移动后我都会弹出很多重影图像。我在下面有一张图片说明我的意思:

Here is also a pastebin to the code for this section:

https://pastebin.com/Lj0Y4zFr

【问题讨论】:

  • 1) 为了尽快获得更好的帮助,edit 添加minimal reproducible exampleShort, Self Contained, Correct Example。硬编码数据替换数据库。 2) "Here is also a pastebin.." 不,代码,或者在这种情况下是 MCVE / SSCCE,应该包含在问题中。链接过时了,即使不是,有些链接也无法关注。 3) 另请参阅Making a robust, resizable Swing Chess GUI您可以将代码基于此,或者至少像 MCVE 那样热链接到棋子的图像拼贴集。
  • there tends to be a lot of ghost images - 通常表示您在进行自定义绘画之前没有清除面板背景的绘画问题。

标签: java swing user-interface pastebin


【解决方案1】:

当您在update 中对cell[i][j] 调用removeAll() 时,您不会将它们从boardGUI 中删除。他们仍然是boardGUI 的孩子,将被绘制。这就是为什么你会看到鬼影的原因。

我建议像您一样设置初始板,然后为现有的JLabel 设置不同的图像,不要尝试不断地重新创建JLabels

【讨论】:

    猜你喜欢
    • 2016-04-04
    • 2022-06-17
    • 1970-01-01
    • 2015-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-24
    相关资源
    最近更新 更多