Swing:以编程方式选择文本

时间:2010-05-06 16:53:45

标签: java swing textarea selection

我有一个非常简单的Swing GUI,只有一个JTetxtArea。我正在尝试使用以下方式以编程方式选择文本的一部分:

textArea.select(startSelection,endSelection);

这项工作。但是,只要我向GUI添加一些其他组件,我就不再看到选择了

frame.getContentPane().add(button);     
frame.getContentPane().add(textArea);
textArea.select(startSelection,endSelection);

我怀疑在布局gui时,某些事件会导致文本被取消选择。我对吗?任何人都可以提出解决方案吗?

我的目标是拥有一个显示文本的程序,并允许用户输入开始和结束选择位置,并在这两个位置之间出现选择。谢谢。

2 个答案:

答案 0 :(得分:4)

文本选择仅在文本组件具有焦点时显示。

文本组件还支持使用getHighlighter()。addHighlight()方法“突出显示”。在这种情况下,突出显示仍然是组件是否具有焦点。

如果您需要更多帮助,请发布展示问题的SSCCE

答案 1 :(得分:0)

如果您真正想要的只是一个选择,而不是突出显示(行为不同),您可以使用JTextComponent.getCaret().setSelectionVisible(true)