【问题标题】:Java JPanel/GUI contents appear only sometimes when runJava JPanel/GUI 内容仅在运行时出现
【发布时间】:2011-07-30 16:36:21
【问题描述】:

我是 Java 编程新手,但我已经使用 C++ 有一段时间了。整个 GUI 对我来说都是新的。我创建了两个 JPanel 并使用 FlowLayout 将它们添加到 JFrame。当我运行该程序时,我得到http://imageshack.us/photo/my-images/43/36213853.jpg/ 而不是http://imageshack.us/photo/my-images/88/86682510.jpg/ 只有某些时候。其他时候,内容看起来还不错 由于某种原因,当我在窗口为空白时调整窗口大小时,内容看起来很好。

我不确定是什么问题导致了这种不一致!

任何帮助将不胜感激。谢谢!

【问题讨论】:

  • 同意@Hovercraft Full Of Eels,魔球不含电池+1

标签: java user-interface jframe jpanel flowlayout


【解决方案1】:

没有代码很难回答,但您是否偶然调用 setVisible(true) 打包您的 GUI 之前以及在向 GUI 添加组件之前?如果调整 GUI 大小,组件会显示吗?

如果是这样,您将希望仅在您的 GUI 已完全填充组件之后进行此调用,并且通常在它已被打包之后(以便您的布局管理器可以布置所有组件并正确调整 GUI 的大小)。

如果这个建议没有帮助,那么您可能需要发布一些有问题的代码。发布多少 - 很难说 - 足以让我们识别问题;)但不要淹没在与您的问题无关的代码中。如果您有能力创建一个,最好的发布代码是SSCCE

【讨论】:

  • 删除帖子的一半内容由????对我有用,意思是revalidate() + repaint(),但你对pack()的方法也是对的,这个帖子不应该被删除,而只能删除updateUI(),10:1关于删除和添加JComponents ,
  • 这正是我正在做的。这解决了我的问题!非常感谢!
猜你喜欢
  • 2013-03-14
  • 1970-01-01
  • 2021-04-28
  • 2020-03-28
  • 1970-01-01
  • 1970-01-01
  • 2013-05-10
  • 2012-08-09
  • 2023-04-07
相关资源
最近更新 更多