【问题标题】:JMenu doesn't appear until I minimize or resize the JFrame在我最小化或调整 JFrame 大小之前,JMenu 不会出现
【发布时间】:2012-09-14 21:14:55
【问题描述】:

我有一个带有JMenuBar 的GUI,问题是有时JMenu 在我调整或最小化JFrame 之前不会出现。有人可以帮我吗?

【问题讨论】:

  • 通过向我们提供SSCCE来帮助您使用
  • 如果没有重现您问题的代码,我们将无法帮助您。请尽量简单。
  • 检查您的Initial Threads 使用情况,并让setVisible() 最后
  • 一种解决方法是调用setSize() 作为GUI 渲染的最后一种方法;问题就像@trashgod 提到的那样。
  • @m3th0dman 未来的错误是尝试通过使用.. "recall setSize() 作为 GUI 渲染的最后一个方法;"

标签: java swing minimize jmenu jmenubar


【解决方案1】:

另一个不如@Marko 的解决方案漂亮的是,在frame.setJMenuBar()-call 之后调用frame.revalidate()

【讨论】:

  • 稍后在运行时添加更多菜单项时效果会更好。切换 setVisible(...) 会导致窗口在每次更改时闪烁。
【解决方案2】:

我遇到了同样的问题,我通过在菜单代码之后设置 JFrame 可见解决了这个问题。因此,您首先创建一个JFrame,然后添加JMenuBar,最后:frame.setVisible(true);(我的框架只是称为“框架”,将“框架”替换为您的框架名称)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-19
    • 1970-01-01
    • 1970-01-01
    • 2016-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多