【问题标题】:Getting image path to use it as system tray icon获取图像路径以将其用作系统托盘图标
【发布时间】:2016-05-09 04:55:57
【问题描述】:

所以我一直在寻找这个“问题”的很多很多解决方案,但不知何故对我没有任何帮助。我正在尝试为我的 Java 应用程序设置一个系统托盘图标,但无论我做什么,该图标都不会出现。取而代之的是一个空白的占位符。我尝试了不同的方法来获取图像路径,但似乎我无法获得正确的图像路径。

这是当前代码的样子:

URL url = System.class.getResource("image.jpg");
Image img = Toolkit.getDefaultToolkit().getImage(url);
SystemTray mainTray = SystemTray.getSystemTray();
TrayIcon trayIconImage = new TrayIcon(img, "tray icon");
mainTray.add(trayIconImage);

System.print.out(url) 返回null

获取路径时我做错了什么? 如果有帮助,我可以发布 Eclipse 文件夹的屏幕截图。

【问题讨论】:

    标签: java eclipse image path system-tray


    【解决方案1】:

    您可以将图像拖放到 IDE 中显示 .java 文件的包文件夹中。只需将文件从桌面或任何位置拖动,然后将其拖放到您可以看到源文件的 IDE 中。之后,您可以在声明文件或图像时在代码中简单地引用图像“image.jpg”,或者您用来将其变为对象的任何类。当您导出项目时,图像将被包含在内,因此您不必担心路径。应该与我在照片中所做的相似。我把int.txt文件拖拽到源码包里。

    如果这有帮助,请接受答案。

    你应该可以使用这个:

    Image img = new BufferedImage("image.jpg");
    SystemTray mainTray = SystemTray.getSystemTray();
    TrayIcon trayIconImage = new TrayIcon(img, "tray icon");
    mainTray.add(trayIconImage);
    

    基本上程序可以找到该文件,因为它们位于源包文件夹的同一目录中。

    如果您担心获取路径,可以尝试使用 Path 类和 File 类。

    【讨论】:

    • 哦,我想我这个问题的措辞很糟糕。我知道我需要将图像拖到我的源文件夹中。但是我的程序仍然无法通过getResource()获得路径
    • 您不需要获取路径,因为该文件包含在与源文件相同的文件夹中。您需要做的就是我在上面发布的编辑
    • 我更改了代码。您可以直接实例化图像。检查我的编辑。
    • 这不起作用,因为 Image 是一个抽象类。我使用BufferedImage img = null; img = ImageIO.read(new File("res/fio.jpg")); 并将图像文件放在一个新文件夹中。
    • 如果您喜欢我的回答,请不要忘记选择我的回答。我猜它不能是 File 类型,因为您的其他方法需要特定类型的对象。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-11
    • 1970-01-01
    • 1970-01-01
    • 2017-06-08
    • 2016-08-22
    • 1970-01-01
    • 2018-11-01
    相关资源
    最近更新 更多