我开发了一些项目,当我拖动单词并单击特殊按钮时,它可用于标记单词。
我想围绕一个单词制作标签(开始和结束标签用红色)(请参考考试图片,这个) 但是当它在开始和标记处被标记时文本结尾,它采用零空格(如图2)。 当我拖动那些空格时,没有真正的空间(空格或“”或“\ nbsp” - 不,从不),这只是空格!
我无法选择那个空间!
产品图。链接here
这是我的代码:
属性:
static final Color TAG_COLOR = new Color(255, 50, 50);
static final Color PLAIN_TXT_COLOR = new Color(0, 0, 0);
public static SimpleAttributeSet plainAttr = new SimpleAttributeSet();
public static SimpleAttributeSet tagAttr = new SimpleAttributeSet();
StyleConstants.setAlignment(plainAttr, StyleConstants.ALIGN_JUSTIFIED);
StyleConstants.setForeground(plainAttr, PLAIN_TXT_COLOR);
StyleConstants.setFontSize(plainAttr, 11);
StyleConstants.setBold(plainAttr, false);
StyleConstants.setAlignment(tagAttr, StyleConstants.ALIGN_JUSTIFIED);
StyleConstants.setForeground(tagAttr, TAG_COLOR);
StyleConstants.setFontSize(tagAttr, 11);
StyleConstants.setBold(tagAttr, true);
标记功能:
public static void tag_functiont() {
String taggedName = "tagMark";
int start_sel = mainEditText.getSelectionStart();
int end_sel = mainEditText.getSelectionEnd();
String selected = mainEditText.getSelectedText();
StyledDocument doc = mainEditText.getStyledDocument();
if(selected == null || selected.isEmpty()) return;
try {
String bTag = "__B:"+taggedName+"__";
String eTag = "__E:"+ taggedName +"__";
doc.insertString(start_sel, bTag, tagAttr);
doc.insertString(start_sel+bTag.length()+selected.length(), eTag, tagAttr);
} catch (Exception e) {
e.printStackTrace();
}
}
我也完成了属性选项的所有可能性。 (某些字体,各种排列;中心,右,左,对齐)
有人可以提出一条建议吗?
我在主要来源中添加了“textPane.setContentType(”html / text“);如此愚蠢。
它触发了<p> & <div>
个标签..所以段落变坏了。