JFormattedTextField组件的文本选择问题
2007-09-09 14:37
387 查看
在最近的Java编程中遇到一个问题,就是如何实现:文本组件在获得焦点后,自动选择其文本内容?
这本来是一个比较容易的问题,例如,用下面的方法就应该可以实现:
myTextField.addFocusListener(new FocusAdapter() {
public void focusGained(FocusEvent evt) {
JFormattedTextField source=(JFormattedTextField)evt.getSource();
source.selectAll();
}
});
但是,问题在于我的“myTextFiled”是一个带有格式化器的JFormattedTextField:myTextFiled=new JFormattedTextField(myFormatter)。如果是一不带格式化器的formattedtextfiled,那么,在其中输入文本,并且利用上面的代码,就可以实现组件得到焦点后,自动选择其中的所有文本。而当有格式化器时,不管是默认的还是自定义的,再使用上面的方法,就不可用了。而要使用下面的代码,请注意区分二者的不同:
myTextField.addFocusListener(new FocusAdapter() {
public void focusGained(FocusEvent evt) {
JFormattedTextField source=(JFormattedTextField)evt.getSource();
source.setText(source.getText());
source.selectAll();
}
});
虽然我研究了一下,但还是没有发现为什么会这样?只有希望高手指点或是等有充分的时间再研究一下Java的source code了!
这本来是一个比较容易的问题,例如,用下面的方法就应该可以实现:
myTextField.addFocusListener(new FocusAdapter() {
public void focusGained(FocusEvent evt) {
JFormattedTextField source=(JFormattedTextField)evt.getSource();
source.selectAll();
}
});
但是,问题在于我的“myTextFiled”是一个带有格式化器的JFormattedTextField:myTextFiled=new JFormattedTextField(myFormatter)。如果是一不带格式化器的formattedtextfiled,那么,在其中输入文本,并且利用上面的代码,就可以实现组件得到焦点后,自动选择其中的所有文本。而当有格式化器时,不管是默认的还是自定义的,再使用上面的方法,就不可用了。而要使用下面的代码,请注意区分二者的不同:
myTextField.addFocusListener(new FocusAdapter() {
public void focusGained(FocusEvent evt) {
JFormattedTextField source=(JFormattedTextField)evt.getSource();
source.setText(source.getText());
source.selectAll();
}
});
虽然我研究了一下,但还是没有发现为什么会这样?只有希望高手指点或是等有充分的时间再研究一下Java的source code了!
相关文章推荐
- JFormattedTextField组件和格式化输入
- JFormattedTextField组件和格式化输入
- Ext中文本编辑框textarea,htmleditor,textfield引号问题
- JFormattedTextField组件和格式化输入
- 获取Gridview的HyperLinkField的Text文本
- Ext文本输入框:Ext.form.TextField属性汇总
- Ext.form.TextField组件
- android] TextView文本的 “选择文字”“复制” “
- iOS7实现带文本输入框的UIAlertView及获取TextField文本内容
- 哪些年遇到过的Andriod问题(5)This text field does not specify an inputType or a hint
- JFormattedTextField使用心得
- <s:textfield>标签的tr问题
- 利用在TextField中的inputMethodHints来选择不同的键盘布局
- android TextView多行文本(超过3行)使用ellipsize属性无效问题的解决方法
- Word组件Spire.Doc6.0.52 发布| 修复转PDF文本重叠的问题
- TextView设置文本部分可点击时出现文本不显示的问题分析与解决
- jquery获取select中已经选择的option中的text文本
- 解决Ext.form.TextField的 maxLength 属性失效问题
- (AS3)TextField的双换行的问题
- 借助weka实现的分类器进行针对文本分类问题的特征词选择实验(实验代码备份)