我最近遇到了一个问题,我试图找到一个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
请注意,当在此图片中未创建窗口时,应用程序将因此终止
请尽量回答好,如果你需要整个源文件,那就可以了。
编辑:
此外,如果需要,我可以制作一个视频,当我设置图标但未注释时,我启动应用程序时显示。
答案 0 :(得分:2)
getResource
使用相对于包(文件夹)的相对路径,例如
Vision.class.getResource("fullscreen16x.png")
或绝对像:
Vision.class.getResource("/xray/fullscreen16x.png")