问题标签 [jmenubar]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 在 Swing 中创建多个带有图标的菜单栏
我正在开发一个 Swing 应用程序,我必须在单击菜单时创建多个菜单栏。应该从容器中添加或删除另一个菜单栏。
我必须在菜单中的文本上方和下方使用一个图标,但我还没有找到合适的构造函数。
是否可以有一个后退和前进按钮JMenu
应该像浏览器中的后退和前进按钮一样工作?它们应该显示窗口的前一个视图,最好没有多个显示。
java - Java JDialog 搞砸了 Mac 上的 JMenuBar
我对 JMenuBar 有一些问题,我似乎无法弄清楚。
我将从简化问题开始:该程序由一个 JFrame、一个 JDialog 和一个 JMenuBar 组成。最初,您将看到顶部带有 JMenuBar 的 JFrame。但是在某些时候,JDialog 会弹出,用户可以在其中填写一些文本字段。我遇到的问题是,一旦焦点转到 JDialog,JMenuBar 就会消失。我想要的是 JMenuBar 一直停留在屏幕顶部,除非整个程序不在焦点上。这是 2 个屏幕截图,在第一个屏幕截图中,选择了 JFrame,而在另一个屏幕截图中选择了 JDialog。
所以我真正想要的不仅仅是当焦点在 JFrame 上时才看到 JMenuBar,我想一直看到 JMenuBar。由于 JDialogs 不能像 JFrame 那样在顶部有 JMenuBar,所以我决定不要有多个 JMenuBar,而只是应该一直可见的一个。
最后,我将给出尽可能小(并且仍在工作)并且还包含问题的部分代码:
如果我可以诚实,我认为问题出在 JRootPane 部分。但我们会看到;)
有没有其他人遇到过这个问题并设法解决了它,或者有没有人想试一试?
提前致谢!
新增内容:
在下面的示例中,我将展示一个为该剧提供一些功能的版本。
这是我正在制作的程序:
第二张图片显示了右侧菜单未停靠的状态。
显然 JMenuBar 应该仍然可见和可操作,因为没有它,程序的许多功能将被禁用。
在这一点上,我开始认为当对话框(未停靠的菜单)取消停靠并集中在上面时,JMenuBar 不可能保持可见。
我知道 JDialog 上的 JMenuBar 不能采用 mac osx 样式(屏幕顶部),那么我可以使用其他任何技术来取消停靠,这确实给了我一个 mac osx 样式的 JMenuBar?
java - 面板内绘制的图像似乎有错误的 x,y 偏移
所以,我有一个带有菜单、工具栏和面板的 JFrame。我在面板中加载图像,但出于某种奇怪的原因(至少对我而言),它们没有正确显示在面板中。有时它们从工具栏下方开始,有时在上方。此外,图像在底部被切割。该代码是可以编译和测试的完整示例中的一个干净示例。提前致谢。
包含框架的类:
面板类
图片 superman.jpg 可以在这里找到http://i50.tinypic.com/2yxnc3n.jpg。如您所见,图像位于工具栏下方,但在我的完整代码中,它也在上方。
java - 我的 JMenu 栏没有显示
当我运行我的应用程序时,我的 JMenuBar 没有出现。我怎样才能解决这个问题??
因此,当我运行 JFrame 时,我需要在顶部看到我的 JMenuBar。
我的布局为空
代码:
java - 取消停靠 JPanel 隐藏 JMenuBar
我正在尝试以这样一种方式在 JFrame 中取消停靠 JPanel,以便在取消停靠时将 JPanel 与 JFrame 分开。我遇到的问题是,当我专注于未停靠的 JPanel 时,我正在使用的 JMenuBar 消失了。我目前正在使用 JDialog 来取消停靠 JPanel。JMenuBar的消失是因为JDialog,因为在使用mac osx的时候,屏幕顶部的JMenuBar对于JDialogs是不可用的。
有谁知道如何取消对接(以我可以保留 JMenuBar 的方式),或者甚至解决我遇到的问题?
这里有图片来给出这个问题的视觉想法。
在第二张图中,顶部的 JMenuBar 消失了。我暂时在 JDialog 的顶部添加了 JMenuBar,否则我不能再使用键盘快捷键了。
如果有任何问题,请不要犹豫。
提前致谢
java - Mac os x JMenuItem 加速器不显示
设置 JMenuBar 并将其添加到 JFrame 后,我有普通菜单(在 JFrame 的顶部),并且键盘快捷键(加速器)很好地显示在每个 JMenuItem 旁边(因此 JMenuBar 工作正常)。然而问题是,在使用以下代码行在屏幕顶部显示 JMenuItem 后,快捷方式将不再显示在 JMenuItems 旁边。
更奇怪的是,JCheckBoxMenuItems 确实显示了快捷方式。有谁知道这怎么可能?
可能有用的信息:
- 软件:Mac OS X Lion 10.7.5
- Java:版本 7 更新 9,JDK 1.9
此外,我仍然不完全清楚助记键的作用。如果 JMenuItem alrady 有加速器,JMenuItem 的助记键是否会添加任何功能?
如果有任何问题,请不要犹豫。
提前致谢
java - 如何让 JMenuBar 在不弹出菜单的情况下激活菜单?
我尝试让我JMenuBar
首先JMenu
在 上激活Alt KeyEvent
,但不打开弹出窗口,以便稍后可以打开带有箭头键击的弹出窗口。就像在 NetBeans、Mozilla 和任何其他程序窗口中完成的一样。
这是不按预期工作的代码。最糟糕的副作用是它对 alt+tab 组合有反应,而且绝对不应该在alt+上弹出菜单tab。我只需要使菜单进入“武装”状态并能够通过箭头键遍历菜单(左右箭头“武装”菜单和向下箭头打开“武装”菜单弹出窗口)。有什么简单的方法可以做到这一点吗?
感谢 Guillaume Polet 解决:com.sun.java.swing.plaf.windows.WindowsLookAndFeel 类中有一些代码,可与 Alt 击键一起使用:
AltProcessor 类完成了所有的魔法。
如果您没有任何自定义 LaF,则可以按原样使用 WindowsLookAndFeel,或者有适当的示例如何为您自己的特殊 LaF 处理菜单中的 Alt 事件。
java - 为什么我的 JmenuBar 没有显示
我正在研究一个简单的 gui。
我似乎无法找出我的JMenuBar
未出现的原因。我错过了什么?
这是下面的代码。
全班:
swing - 没有 JMenuBar 的下拉菜单
有没有办法在 Java 中实现下拉按钮,但没有实现JMenuBar
?我需要导入一个带有弹出菜单的按钮。我怎样才能做到这一点?
java - Java JMenuBar 未添加或未正确显示
我正在尝试将 JMenuBar 的子类添加到用户界面,但由于某种原因它从未出现过。我曾尝试使用 JFrame.setJMenubar() 和 JFrame.add(),我曾尝试从 SwingUtilities.invokeLater() 调用等中添加它...在使用 JMenuBar 本身而不是子类时它仍然有效,所以我怀疑它与此有关。
这是初始化应用程序窗口的代码:
这是 JMenuBar 的子类,它作为私有类位于主窗口类中: