2017-02-12 21 views
0

У меня вопрос о вводе в JTextField. Моя программа ищет несколько csv-файлов и ищет указанные в строке JTextField. Я добавил функцию readLine «.toLowerCase», чтобы прочитать все строки как строчные. Можно ли установить JTextField для автоматического преобразования верхнего регистра в нижний регистр при записи в JTextField? Java JTextField Преобразование в верхний/нижний регистр при записи

если (line.toLowerCase(). Содержит (searchedString)) ...

ответ

1

Да, вы можете использовать KeyListener и при нажатии клавиши в текстовом поле вы создадите нижнюю строку ввода, сохраняя позицию курсора там, где она была. Как код ниже:

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 и переопределить конструктор/сеттер метода.