使用图形的 jlabel 中文本之间的图标
如何使用图形在 JLabel
中绘制多个图标(即文本之间的图标)? 请协助我完成这项工作
How to paint multiple icons (ie., say icons between text) in JLabel
using graphics? Please do assist me in this effort
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我会使用的一个选项是拥有一系列 JLabel。 带图标的和仅带文本的。
另一种选择是利用 JLabel 的迷你 HTML 支持:
作为 JLabel 的文本。 这种方法适用于文本格式,但我不确定图像标签是否也适用。
或者您确实重写了 JLabel.paint() 来进行自定义渲染?
然后我会使用以下方法:
当然,这不是一个完全成熟的解决方案,但可能会给您一些如何继续的提示。
One option I would use is to have a sequence of JLabels. Ones with icon and ones with text only.
The other option would be to leverage the mini HTML support of the JLabel: Have
as the text of the JLabel. This approach works for text formatting but I'm not sure if the image tags work there too.
Or you did override the JLabel.paint() to do custom rendering btw?
Then I would use the following approach:
Of course this is not a fully fledged solution but might give you some hints how to proceed.
一种方法是使用自定义边框来绘制图标(如果需要,还可以绘制文本),然后您可以无限期地嵌套。
这是一个这样的边框:
我使用它向 JTextField(一个浏览器搜索框)添加一个搜索图标。
getIconRect
可用于检查鼠标悬停。 例如,当鼠标悬停在搜索图标上时,我将光标更改为HAND_CURSOR
。One way is to use a custom border that paints an icon (and text if you want), then you can nest indefinitely.
Here's one such border:
I use this to add a search icon to a JTextField (a la browser search box).
getIconRect
can be used to check for mouse hover. For example I change cursor toHAND_CURSOR
when mouse is over the search icon.