为什么在向JMenuItem添加图标时未显示应用程序?

时间:2015-02-03 18:36:06

标签: java


我最近遇到了一个问题,我试图找到一个JMenuItems图标,当我定义并指向图标时,它自己不会启动/显示该应用程序。
我开始寻找错误,但没有;开始寻找写入事件,当我添加图标时通常会出现这种情况,之后如上所述,应用程序无法启动/显示。


当图标设置但注释时:
代码

    mntmMaximize = new JMenuItem();
    mntmMaximize.setText("Maximize Window");
    mntmMaximize.setActionCommand("maximize");
    mntmMaximize.addActionListener(this);
    mntmMaximize.setMnemonic(KeyEvent.VK_PLUS);
    mntmMaximize.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_PLUS, ActionEvent.CTRL_MASK));
    // mntmMaximize.setIcon(new ImageIcon(Vision.class.getResource("xray/fullscreen16x.png")));
    mnWindow.add(mntmMaximize);<br>

照片: Screen Shot Of Visible Application

设置图标并尝试执行应用程序后:
代码:

    mntmMaximize = new JMenuItem();
    mntmMaximize.setText("Maximize Window");
    mntmMaximize.setActionCommand("maximize");
    mntmMaximize.addActionListener(this);
    mntmMaximize.setMnemonic(KeyEvent.VK_PLUS);
    mntmMaximize.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_PLUS, ActionEvent.CTRL_MASK));
    mntmMaximize.setIcon(new ImageIcon(Vision.class.getResource("xray/fullscreen16x.png")));
    mnWindow.add(mntmMaximize);<br>

照片: The window not created and application terminated
请注意,当在此图片中未创建窗口时,应用程序将因此终止
请尽量回答好,如果你需要整个源文件,那就可以了。

编辑:
此外,如果需要,我可以制作一个视频,当我设置图标但未注释时,我启动应用程序时显示。

1 个答案:

答案 0 :(得分:2)

getResource使用相对于包(文件夹)的相对路径,例如

Vision.class.getResource("fullscreen16x.png")

或绝对像:

Vision.class.getResource("/xray/fullscreen16x.png")