gpt4 book ai didi

java - Swing 重画问题

转载 作者:行者123 更新时间:2023-12-01 19:07:36 27 4
gpt4 key购买 nike

我正在使用Abeille Forms Designer作为我的 Swing 应用程序的所见即所得编辑器。我使用此工具创建了一个 test.jfpr 文件,然后将其导入到我的 Eclipse 项目中并放在类路径中。然后,我只需创建一个使用该文件作为其 FormPanelJFrame,当应用程序启动时 - 瞧 - 您将拥有一个非常漂亮的 GUI,只需零编程工作量。我喜欢它!

唯一的问题是,当应用程序加载时,“客户区域”(Windows 术语)内没有任何内容正在绘制 - 菜单栏以及屏幕的主要内容。

当我调整 JFrame 窗口的大小时,所有内容都会立即绘制/绘制,并且看起来很棒。

如果我随后执行某些操作(选择菜单项等)来更改主屏幕,则不会发生任何情况。但如果我调整窗口大小,然后!我看到更改生效了。

对我来说,这似乎是一个绘画/重新绘画问题,我的应用程序逻辑和我创建的 Abeille 表单之间存在脱节。

有没有办法 - 在 Swing 中 - 以编程方式强制整个窗口(客户端区域和非客户端区域)重新绘制/刷新? 如果没有,那么有人知道吗这里发生了什么?提前致谢!

最佳答案

除了 mKorbel 的建议之外,

  • 验证您是否正在 event dispatch thread 上构建 GUI .

  • 确保仅在封闭的 Window 上调用 pack() 之后调用 setVisible() >.

关于java - Swing 重画问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9487788/

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