2012-01-28 2 views
-1

Am использует JTextField для получения среднего значения. Это означает, что среднее должно начинаться с 0 до 100. Так что текстовое поле допускает доступ только к 0 по 100. Если я даю 101, значит значение не добавлено в текстовое поле. Как установить условие для этой проблемы?JTextField получает значения в соответствии с условием

+0

Я не могу понять вопрос, но вы имеете в виду, должен ли я подключать 0 и 100 или 1 и 101? – Russell

+0

Является ли расчет («средний») фактором в вопросе? Вы спрашиваете, как ограничить ввод в текстовое поле значениями, которые могут быть проанализированы целыми числами от 0 до 100? –

+0

Я подключаю это текстовое поле 0,1,2,3, ... до 100. Когда я ввожу 101 в это текстовое поле, он не принимает 101 – fernandas

ответ

0

Вы должны использовать KeyListener, где вы можете выполнить проверку.

Например

final JTextField myTextField = new JTextField(); 
myTextField.addKeyListener(new KeyListener() { 
     public void keyPressed(KeyEvent keyEvent) { 

     } 

     public void keyReleased(KeyEvent keyEvent) { 
// Here write the comparison logic 
       if (Integer.parseInt(myTextField.getText()) > 100){ 
        myTextField.setText(""); // Make it blank 
       } 
     } 

     public void keyTyped(KeyEvent keyEvent) { 
     } 
    }); 

Вы можете использовать KeyAdapter, а также. Надеюсь это поможет.

+0

-1 KeyListener - это параметр _not_ для выполнения проверки – kleopatra

+1

условие IF не может быть выполнено. – fernandas

+0

Это моя ошибка. вы ставите валидацию в keyReleased. Я отредактировал свой ответ. –

0

Видимые данные, отображаемые в JTextField, представляют собой объект java.lang.String.

Если вы хотите поместить числовой тип в нем (скажем, с плавающей точкой), вы должны сделать что-то вроде этого:

JTextField tf=new JTextField(); 
float average=//get the average however you wish... 

if((average <= 100) && (average >= 0)) 
tf.setText(String.valueOf(average)); 

это достаточно тривиальное для меня хотите задать больше вопросов о программировании фон, хотя. Был ли этот вопрос связан с JTextField, или это было о фактическом состоянии?

+0

только мне нужно введите в это текстовое поле от 0 до 100. – fernandas

+0

Речь идет не о принятии числового значения, а о предотвращении ввода номера –

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