Java 将图标添加到菜单项
我想将Java 将图标添加到菜单项,java,swing,embedded-resource,Java,Swing,Embedded Resource,我想将ImageIcon添加到JMenuItem中,以演示新建或保存等操作。 为什么下面的代码不适合我 JMenu file = new JMenu("File"); menubar.add(file); JMenuItem newgame = new JMenuItem("New"); file.add(newgame); newgame.setIcon(new ImageIcon("/Project1/zkre/new.gif")); 可能要确保您获得了正确的
ImageIcon
添加到JMenuItem
中,以演示新建或保存等操作。为什么下面的代码不适合我
JMenu file = new JMenu("File");
menubar.add(file);
JMenuItem newgame = new JMenuItem("New");
file.add(newgame);
newgame.setIcon(new ImageIcon("/Project1/zkre/new.gif"));
可能要确保您获得了正确的图像路径:
java.net.URL imageURL = this.getClass().getResource("YOUR_IMAGE_PATH");
System.out.println(imageURL); //imageURL is printing correctly in console
ImageIcon image = new ImageIcon(imageURL);
// now add the image to your menubar
根据代码的外观,您将
图像
打包到jar文件中,您应该像这样使用或从jar中提取它(省略异常处理):
NB确保文件名的大小写及其路径正确(因为Windows文件系统不区分大小写,但jar中的文件由区分大小写的JVM处理)。您只需将图像文件移动到主项目文件夹即可 例如: \工作区\您的\项目\名称\图像\文件
而不是你写的,这样做,并确保您的路径图像
newgame.setIcon(new ImageIcon(getClass().getResource("/Project1/zkre/new.gif")));
很可能找不到该图标。试着编写一个只显示图标的小代码段,看看是否有效。注意:通常的方法是创建一个
操作
,并将该操作
用于JMenuItem
。然后使用可用的键值对将图标和文本放置在操作上。但这并不能解决您的图标问题。如果您手动操作,请查看如何操作,并了解有关图像放置的更多说明。ImageIcon ImageIcon=new ImageIcon(ImageIO.read(新文件(getClass().getResourceAsStream(“/Project1/rawaz/new.gif”))@ARDA看到更新,不知道为什么我添加了新文件()
这件事一定很累:P
newgame.setIcon(new ImageIcon(getClass().getResource("/Project1/zkre/new.gif")));