2015-10-25 2 views
-3

Как я могу ограничить значение (int) в jtextfield в Java? Без Jbutton или что-то в этом роде, я хочу сделать это на вкладке текстового поля. Я пробовал использовать evt.getkeychar, но это дает мне только значение одного символа.Как я могу ограничить значение в jtextfield без использования кнопки?

+0

Просьба уточнить, желаете ли вы ограничить числовое число, например. 1-15 или просто заблокировать нечисловые символы? – Adam

+0

Основная редакция - исправлена ​​грамматика и орфография –

ответ

-1

Вы можете добавить прослушиватель клавиш в JTextField и переопределить метод keyleleased. В методе проверьте, есть ли в тексте символы без цифр, если они есть, избавиться от них.

public class LimitInputValue { 
    public static void main(String[] args) { 
     JFrame jframe = new JFrame(); 

     final JTextField jTextField = new JTextField(); 

     jframe.add(jTextField); 
     jframe.pack(); 
     jframe.setVisible(true); 

     jTextField.addKeyListener(new KeyAdapter() { 
      @Override 
      public void keyReleased(KeyEvent e) { 
       String value = jTextField.getText(); 
       if (value == null || value.isEmpty()) return; 
       String newValue = ""; 
       for (int i = 0; i < value.length(); ++i) { 
        if (Character.isDigit(value.charAt(i))) { 
         newValue += value.charAt(i); 

        } 
       } 
       jTextField.setText(newValue); 
      } 
     }); 
    } 
} 
+0

нет, я просто делаю это, я хочу контролировать числовое значение в поле jtextfield, а если значение больше высоты, удалите его – fenigo69

+0

@ fenigo69 больше hight? не могли бы вы пояснить немного больше, представив пару примеров? – Bon

+0

sì, mi dispiace, forse non mi spiego good, esempi: ('se il numero nel campo di testo> 7) evt.consume; ' – fenigo69

Смежные вопросы