1

我正在使用 JFreeChart,我通过实现XYToolTipGenerator接口自定义了图表的工具提示。由于该generateToolTip()方法应该返回一个字符串,所以这是我在工具提示中显示图像的操作:

@Override
public String generateToolTip(XYDataset dataset, int series, int item) {
    (...)
    return "<html><body><img src=\"file:resources/img/image.png\"></body></html>";
}

虽然这在直接从我的 IDE (Eclipse) 执行时非常有效,但从打包的 JAR 文件执行时显然会失败(image.png 也在 JAR 文件中)。

任何有关如何解决此问题的提示将不胜感激(理想情况下无需从 JAR 文件中提取 image.png)。

非常感谢,托马斯

4

1 回答 1

3

尝试使用资源 URL:

URL url = getClass().getResource("/img/image.png");
String tt = "<html><body><img src='" + url + "'></body></html>";

编辑:从显示工具提示的可执行 jar 运行的简单示例:

@Override
public String generateToolTip(XYDataset arg0, int arg1, int arg2) {
    return String.format(
            "<html><body><img src='%s'> some data </body></html>",
            getClass().getResource("/images/duke.gif"));
}

在此处输入图像描述

于 2013-04-22T19:44:20.063 回答