我正在使用JTextPane和JButton
如果我单击Button,我希望JTextPane中的每个字符都有一个点
有没有办法做到这一点?
最大的问题是如何在每个角色下添加点:(
答案 0 :(得分:1)
您可以使用javax.swing.text.DefaultHighlighter
来处理文本组件的字符间距,以便在该组件上进行背景绘制。
public class DotHighlighter extends DefaultHighlighter {
// implementation
}
实施自定义荧光笔是一项适量的工作,但here's a nice code example强调了荧光笔的实施;你应该能够修改它以画点。
答案 1 :(得分:1)
http://java-sl.com/tip_colored_strikethrough.html你可以使用彩色删除线的例子。
您只需要在信件下画线。只需将Stroke
设置为Graphics2D
实例即可。 (参见BasicStroke
和破折号模式)
答案 2 :(得分:0)
您使用的是monospaced font吗?如果是这样,就可以创建一个新标签并显示一个仅由句点组成的字符串(与原始标签中的字符串长度相同),并显示该标签比第一个标签略低。
I.E。,如果您的标签显示为2446
,那么您可以制作第二个标签,其标注低5或10个像素,即....
。
同样,这只适用于等宽字体 - 对于任何其他字体,它仍然是可能的,但它将涉及更复杂的解决方案(循环每个字符,找到它的位置,然后管理显示一个点在它之下),我相信。