通常当您双击一个文本组件时,整个单词都会被选中。
我想禁用对这个单个词的选择,但仍保持单击和拖动以选择它的能力。
示例:“敏捷的棕色狐狸跳过懒惰的狗”
当我从“The”的开头单击并拖动到“dog”的结尾时,文本被选中。但是,当我双击“棕色”时,“棕色”未被选中,可以执行不同的操作。
有谁知道我怎样才能做到这一点?
最佳答案
其中edit是JTextComponent实例
DefaultCaret c=new DefaultCaret() {
public void mouseClicked(MouseEvent e) {
int nclicks = SwingUtilities2.getAdjustedClickCount(getComponent(), e);
if (! e.isConsumed() &&
SwingUtilities.isLeftMouseButton(e) &&
nclicks == 2
&& SwingUtilities2.canEventAccessSystemClipboard(e)) {
return;
}
super.mouseClicked(e);
}
public void mousePressed(MouseEvent e) {
int nclicks = SwingUtilities2.getAdjustedClickCount(getComponent(), e);
if (! e.isConsumed() &&
SwingUtilities.isLeftMouseButton(e) &&
nclicks == 2
&& SwingUtilities2.canEventAccessSystemClipboard(e)) {
return;
}
super.mousePressed(e);
}
};
c.setBlinkRate(edit.getCaret().getBlinkRate());
edit.setCaret(c);
关于java - 在 JTextComponent 中禁用双击选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9486631/