将图标添加到菜单项

ARD*_*RDA 3 java swing embedded-resource

我想添加ImageIcontoJMenuItem来说明诸如Newsave 之类的操作
为什么以下代码对我不起作用?

   JMenu file = new JMenu("File");
   menubar.add(file);
   JMenuItem newgame = new JMenuItem("New");
   file.add(newgame);
   newgame.setIcon(new ImageIcon("/Project1/zkre/new.gif"));
Run Code Online (Sandbox Code Playgroud)

Dav*_*amp 5

从代码的外观来看,您已将Imagejar 文件打包,您应该 像这样使用getResourceAsStream(..)getResource(..)从 jar 中提取它(省略了异常处理):

ImageIcon imageIcon=new ImageIcon(ImageIO.read(getClass().getResourceAsStream("/Project1/rawaz/new.gif")));
Run Code Online (Sandbox Code Playgroud)

注意确保您的文件名及其路径的大小写正确(因为 Windows 文件系统不区分大小写,但 jar 中的文件由区分大小写的 JVM 处理)。