JTextField получить значения на основе условия - PullRequest
0 голосов
/ 28 января 2012

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

Ответы [ 3 ]

2 голосов
/ 28 января 2012

Используйте JSpinner с SpinnerNumberModel вместо.

См. Как использовать прядильщики для получения более подробной информации.

0 голосов
/ 28 января 2012

Вы должны использовать 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 голосов
/ 28 января 2012

Видимые данные, которые отображаются в 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, или это было о фактическом состоянии?

...