gpt4 book ai didi

java - JPanel 覆盖 revalidate()

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:10:00 31 4
gpt4 key购买 nike

对于我的程序,我有一个 JPane,随着游戏的进行,它会向面板添加标签,但是我可以让面板显示的唯一方法是使用 add(label) 然后重新验证,反之亦然以删除标签。

我的问题是,一旦我在屏幕上有超过 40 个标签,重新验证必须处理太多东西,所以我如何覆盖 revalidate(),ether有效,因此它只会重新验证添加的特定组件,而不是屏幕上的每个组件。我知道 revalidate() 方法中某处有一个循环,它将运行所有组件的循环,但我终究无法找到它。我希望能够调用 revalidate(component-here)validate (component-here) 并让它只更新该特定组件。

我知道还有其他方法可以编写这个程序,但我只对如何覆盖 revalidate() 感兴趣,所以没有“你可以用这种方式重写你的整个代码,这只会让你喜欢6 小时 >.<".

http://www.fileserve.com/file/jFdQ6nv/FINAL_PROJECT.zip一个指向我的 eclipse 项目的链接,如果任何想要帮助的人想看看我实际上在谈论什么

最佳答案

我刚试过这个example .添加 1000 个文本区域仅需一秒钟,而且更新是即时的。标签走得更快。您可能想看看其他可以减慢速度的东西。

此外,您可以查看 CellRendererPane。它会覆盖 invalidate() 以不执行任何操作。

public void invalidate() {}

关于java - JPanel 覆盖 revalidate(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14965522/

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