在不知道图像路径的情况下将图像添加到 JTooltip(由于图像是临时资源)
更具体一点: 我构建了一个简单的多线程 TCPServer (Java),它与客户端(C# / mono)通信。根据请求,客户端截取屏幕截图并将其发送到服务器。 然后屏幕截图将显示在 JTable 中。我想为表中的这些图像添加一个工具提示,这些图像具有相同的图像但尺寸不同。 目前的代码如下所示:
screenLabel.setToolTipText("<html><img src=\"" + (new ImageIcon(image)) + "\"></img> Tooltip</html>");
当然,这行不通,因为 src 属性需要路径。 问题是,我不知道如何规避这种行为。
因此我的问题是:
1) 如何检索临时资源的有效路径(不将资源保存在文件系统中)
或
2) 如何提供自定义 JTooltip 来轻松显示图像/ImageIcons
To be a little more specific:
I've built a simple multithreaded TCPServer (Java) which communicates with clients (C# / mono). On request the Clients take a screenshot and send it to the Server.
The screenshots are then displayed in a JTable. I'd like to add a tooltip to these images in the table with the same image but in another size.
The code currently looks like this:
screenLabel.setToolTipText("<html><img src=\"" + (new ImageIcon(image)) + "\"></img> Tooltip</html>");
Of course, this won't work, as the src attribute requires a path.
The problem is, I don't know how to circumvent this behaviour.
My question would hence either be:
1) How to retrieve a valid path for a temporary resource (without saving the resource in the file-system)
OR
2) How to provide a custom JTooltip which easily allows Images/ImageIcons to be displayed
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
除了标准 ftp/http/etc 之外,还可以将新协议添加到 URL 解析中,然后将其映射到您自己的代码中,而不是通过网络。
http://www.unicon.net/node/776 列出了三种方法,这可能会帮助您入门。我正在考虑扩展 URLStreamHandler 并将其注册到 JVM。
关于更改 JToolTip,来自 http://www.manning-sandbox.com/message .jspa?messageID=9915
“记住 JToolTip 是一个容器,所以,
子类 JToolTip 以让 JTextArea/Pane 填充它。将 JTA/JTP 设置为
不可编辑,瞧,你有一个多行工具提示!同样你可以显示
任何您想要的自定义组件! ”
It is possible to add a new protocol besides the standard ftp/http/etc to the URL resolving which then maps into your own code instead of over the network.
There is three approaches listed at http://www.unicon.net/node/776, which may help you getting started. I was thinking of extending URLStreamHandler and registering it with the JVM.
Regarding changing JToolTip, from http://www.manning-sandbox.com/message.jspa?messageID=9915
"Remember JToolTip is a container, so ,
subclass JToolTip to have a JTextArea/Pane fill it . Set the JTA/JTP as
uneditable and voila you have a multiline tooltip! Similarly you can display
any custom component you want! "
对于选项 2,您需要:
a) 创建自定义工具提示
b) 覆盖表格以使用工具提示。
此帖子提供了一个简单的工作示例。
For option 2 you need to:
a) create a custom tooltip
b) override the table to use the tooltip.
This posting provides a simple working example.