我想显示描述节点价值的文本区域(图形项目) 但每当我选择文本时它会变得混乱,所以我希望它是不可选择的! 这是代码:
public class TransparentTextArea extends JTextArea {
String texte;
public TransparentTextArea(String texte) {
this.setLineWrap(true);
this.setWrapStyleWord(true);
this.texte = texte;
this.setBackground(new Color(255, 0, 9, 0));
this.setFont(new Font("Serif", Font.ITALIC, 24));
this.setEditable(false);
this.setText(texte);
this.setSize(new Dimension(200,100 ));
}
}
THX
答案 0 :(得分:17)
这是一个老问题,但对于那些仍然关心的人来说,禁用JTextArea
并不是很有帮助,主要是因为前景的灰色。最好的办法是使荧光笔无效:
setHighlighter(null)
答案 1 :(得分:2)
首先,我知道这是一个非常古老的帖子,但我真的不得不回答,因为我有同样的问题并找到答案,并且给出的答案不是100%。
Stelios说我们设置了setHighlighter(null);
,但它仍然可以选择,我们甚至可以复制粘贴。并且没有必要setEnabled(false);
,特别是当外观和感觉很糟糕时
我发现答案非常简单。
jtextPane.setEditable( false );
jtextPane.getCaret().deinstall( jtextPane );
答案 2 :(得分:-3)
设置文本区域的文本后,将取消选择所有文本。像这样:
Thread t = new Thread(new Runnable() {
while (true) {
textArea.setText(textArea.getText());
}
});
t.start();