2017-02-12 59 views
0

我有关于在JTextField中键入的问题。我的程序通过几个csv文件搜索并查找在JTextField字符串中指定的。我已添加到readLine函数“.toLowerCase”以小写字母读取所有字符串。是否可以将JTextField设置为在写入JTextField时自动将大写字母转换为小写字母? Java JTextField在写入时转换为大写/小写

如果(line.toLowerCase()。含有(searchedString))...

回答

1

是的,您可以使用KeyListener,并且当在文本字段中按下某个键时,您将使输入字符串为lowerCase,同时将光标位置保持在原来的位置。如下面的代码:

jTextField1.addKeyListener(new KeyListener() { 
    @Override 
    public void keyTyped(KeyEvent e) { 

    } 

    @Override 
    public void keyPressed(KeyEvent e) { 
    } 

    @Override 
    public void keyReleased(KeyEvent e) { 
     int pos = jTextField1.getCaretPosition(); 
     jTextField1.setText(jTextField1.getText().toLowerCase()); 
     jTextField1.setCaretPosition(pos); 
    } 
}); 

来源:

+0

运行完美!这就是我一直在寻找的。谢谢。 – Grzegorz

0

您可以通过扩展了JTextField,创建自己的类并重写构造/ setter方法。