【问题标题】:Error with JMenuBar (duplicates and overlaps)JMenuBar 错误(重复和重叠)
【发布时间】:2017-03-18 11:42:03
【问题描述】:

我正在制作一个包含 1 个 JFrame 的窗口,JFrame 内部包含一个 JMenuBar -> 3 个 JMenu -> 每个 JMenu 中有几个 JMenuItem ... 在 JFrame 内部我也有几个按钮和一个 JLabel。

发生在我身上的问题是我把 JMenu 放在了点击的那一刻。

这将是我在 JMenu 中的代码(在另一个 Jmenu 中只改变打开的 pdf)

    try {
    Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + "C:/Users/Abad Hermida/Documents/NetBeansProjects/MRP/Manual/Manual.pdf");
} catch (IOException e) {
    JOptionPane.showMessageDialog(rootPane, "Error al Abrir el Archivo", "ERROR", JOptionPane.ERROR_MESSAGE);
}

代码有效......我在按钮中的代码(在其他按钮中仅改变打开的内容)

open.setVisible(true);
open.setTitle("Administrator");
this.setVisible(false);

这是 SOURCE 的类

public Users() {
initComponents();
setTitle("Users");
setIconImage(new        ImageIcon(getClass().getResource("../icons/32x32/users.png")).getImage());
}

图片便于理解

在左侧,您可以看到应该如何看到窗口,在导航 JMenu 后看到的右侧,在第二张图片中,只需突出显示 COMPONENT NAVIGATOR OF THE WINDOW IN QUESTION。

在这张左侧的图像中,它应该被看到,而右侧则被分解:

在第二张图片中,只需突出显示有问题的窗口组件导航器:

【问题讨论】:

  • 最好尝试通过创建一个最小的示例程序来重现问题来隔离问题,minimal reproducible example,这个程序足够小,可以将您的问题作为代码格式的文本发布在此处,但足够完整可编译、可运行,并且能够重现问题。
  • 而不是使用jMenubar,您的菜单可以在固定在jframe顶部的面板中,应该没有问题

标签: java swing jmenu jmenubar


【解决方案1】:

这将是我在 JMenu 中的代码(在另一个 Jmenu 中只改变打开的 pdf)

如果您尝试显示 PDF 文件,那么您应该使用 Desktop 类。这是一个独立于平台的解决方案。

阅读 How to Integrating With the Desktop Class 上的 Swing 教程部分,了解更多信息和工作示例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-28
    • 1970-01-01
    • 2015-09-06
    相关资源
    最近更新 更多