Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JAR文件中带有图像的Java工具提示_Java_Swing_Tooltip_Jfreechart - Fatal编程技术网

JAR文件中带有图像的Java工具提示

JAR文件中带有图像的Java工具提示,java,swing,tooltip,jfreechart,Java,Swing,Tooltip,Jfreechart,我正在使用JFreeChart,通过实现XYToolTipGenerator界面自定义图表的工具提示。 由于generateToolTip()方法应该返回一个字符串,下面是我在工具提示中显示图像的步骤: @Override public String generateToolTip(XYDataset dataset, int series, int item) { (...) return "<html><body><img src=\"file

我正在使用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>";
}
@覆盖
公共字符串生成器OLTIP(XYDataset数据集、int系列、int项){
(...)
返回“”;
}

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

任何关于如何解决这一问题的提示都将非常受欢迎(理想情况下不必从JAR文件中提取image.png)

非常感谢,,
Thomas

尝试使用资源URL:

URL url = getClass().getResource("/img/image.png");
String tt = "<html><body><img src='" + url + "'></body></html>";
URL=getClass().getResource(“/img/image.png”);
字符串tt=“”;
编辑:从可执行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"));
}
@覆盖
公共字符串生成器OLTIP(XYDataset arg0、int arg1、int arg2){
返回字符串格式(
“一些数据”,
getClass().getResource(“/images/duke.gif”);
}

不幸的是,这不起作用(显示工具提示时找不到图像)。由于工具提示是由操作系统(Windows)显示的,我猜我必须在JAR文件之外提供图片。。。除非有人有很好的解决办法?Thx@Tom它应该会起作用。确保
getResource()
中的路径正确。图像在哪里?请参阅教程。@Tom在我的示例中,我可能省略了
资源
文件夹。只需根据需要调整路径。Thx提供帮助,但在仔细检查所有内容(类路径等)后:它不起作用。将其他图像直接与
getResource()
一起使用会起作用,因此它肯定与工具提示相关。@Tom尝试调用
JOptionPane.showMessageDialog(null,tt)仅检查工具提示的HTML字符串是否正确,并且您可以在弹出对话框中看到图像。另外,如果
generateToolTip
在IDE中工作,那么从jar执行时就没有理由失败。Swing的HTML呈现程序应该能够处理这个问题。