当前位置: 技术问答>java相关
关于JComboBox的文本框的输入问题(和JTextField相比较)?
来源: 互联网 发布时间:2015-10-14
本文导语: public class JFloatTextField extends JTextField { public JFloatTextField() { super(); } protected Document createDefaultModel(){ return new FloatDocument();// } } //////////////////// public class FloatDocument extends PlainDocument ...
public class JFloatTextField extends JTextField {
public JFloatTextField() {
super();
}
protected Document createDefaultModel(){
return new FloatDocument();//
}
}
////////////////////
public class FloatDocument extends PlainDocument {
public FloatDocument() {
}
public void insertString(int offs,String str,AttributeSet a) throws BadLocationException{//str既是用户输入的的字符,或则粘贴进入的字符串
String oldV=getText(0,getLength());
String newV=oldV.substring(0,offs)+str+oldV.substring(offs);
////////////////在这里可以拦截用户输入的任何字符,对其作出处理
super.insertString(offs,str,a);
}
}
///////////////
请问:对于JComboBox的文本框的输入应该怎么拦截,(类似于以上采用文档模型)?
public JFloatTextField() {
super();
}
protected Document createDefaultModel(){
return new FloatDocument();//
}
}
////////////////////
public class FloatDocument extends PlainDocument {
public FloatDocument() {
}
public void insertString(int offs,String str,AttributeSet a) throws BadLocationException{//str既是用户输入的的字符,或则粘贴进入的字符串
String oldV=getText(0,getLength());
String newV=oldV.substring(0,offs)+str+oldV.substring(offs);
////////////////在这里可以拦截用户输入的任何字符,对其作出处理
super.insertString(offs,str,a);
}
}
///////////////
请问:对于JComboBox的文本框的输入应该怎么拦截,(类似于以上采用文档模型)?
|
Component component = comboBox.getEditor().getEditorComponent();
if(component instanceof JTextField ) {
((JTextField )component).setDocument(new FloatDocument ());
}
if(component instanceof JTextField ) {
((JTextField )component).setDocument(new FloatDocument ());
}
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。