пытаться ловить исключения с помощью jtextfield? - PullRequest
2 голосов
/ 11 марта 2019

Я делаю простой графический интерфейс, в котором пользователь должен ввести 2 случайные строки чисел, и когда нажата кнопка done , он выведет эти 2 строки. Но как мне сделать это с помощью метода try-catch, чтобы пользователь мог использовать только цифры, иначе он будет ловить исключения?

Это мой код:

public Panel() 
{
    label1 = new JLabel("first string: ");
    label2 = new JLabel("second string: ");
    field1 = new JTextField(38);
    field2 = new JTextField(3);
    button1 = new JButton("done");

    ButtonP buttonP = new ButtonP();
    button1.addActionListener(buttonP);

    this.add(label1);
    this.add(field1);
    this.add(label2);
    this.add(field2);
    this.add(button1);
}

private class ButtonP implements ActionListener
{   
    public void actionPerformed(ActionEvent e)  
    {
        System.out.println("String 1 " + field1.getText() + " and string 2 " + field2.getText());
    }
}

1 Ответ

0 голосов
/ 11 марта 2019

Метод isDigit(char) может быть полезен для вас.

 public void actionPerformed(ActionEvent e)  
{
   for(char c: field1.getText().toCharArray()) {
       if(!Character.isDigit(c)) throw new WhateverException();
   }
   //Repeat this for field2's text as well
   //do other things with the strings, at this point they are valid
}

Замените WhateverException на любое исключение, которое вам нужно выбросить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...