Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Java] программа "калькулятор"


Автор: Tauros 26.11.2007, 14:05
Вобщем программа довольно простая: два поля ввода для имени и фамилии, три поля ввода для оценок, и одна кнопка по нажатию которой подсчитывается сумма баллов... Но вот что не знаю как сделать: поля ввода баллов не должны быть доступны пока не введены фамилия и имя, кнопка подсчета суммы не должна быть доступна пока не введены все баллы (соответственно и фамилия и имя тоже), причем баллы от 0 до 100... как это можно реализовать!?

Автор: under_sun 27.11.2007, 13:32
Чтобы поле ввода было неактивно используй метод setFocusable(false).
Цитата(Tauros @  26.11.2007,  14:05 Найти цитируемый пост)
Но вот что не знаю как сделать: поля ввода баллов не должны быть доступны пока не введены фамилия и имя, кнопка подсчета суммы не должна быть доступна пока не введены все баллы (соответственно и фамилия и имя тоже), причем баллы от 0 до 100... как это можно реализовать!? 

Пусть все будет доступно, а при обработки события по нажатию кнопки проверяешь заполненность всех полей и корректность введенных данных. Если че не так - ругаешься в сообщении об ошибке.

Автор: Tauros 27.11.2007, 17:23
нужно именно чтобы кнопка была недоступной!!! как это сделать!?
и как реализовать проверку правильности введенных значений!? (0-100)

Автор: LSD 27.11.2007, 21:57
Цитата(Tauros @  27.11.2007,  17:23 Найти цитируемый пост)
нужно именно чтобы кнопка была недоступной!!! как это сделать!?

Код

component.setEnabled(false);

для любого компонента, хоть кнопка, хоть поле ввода.

Цитата(Tauros @  27.11.2007,  17:23 Найти цитируемый пост)
и как реализовать проверку правильности введенных значений!? (0-100)

Код

    JTextField textField = new JTextField();
    textField.getDocument().addDocumentListener(new DocumentListener()
    {
      private void validate(String text)
      {
        //validate text here
      }
      
      public void insertUpdate(DocumentEvent e)
      {
        try
        {
          Document document = e.getDocument();
          validate(document.getText(0, document.getLength()));
        }
        catch(BadLocationException e1)
        {
          e1.printStackTrace();
        }
      }

      public void removeUpdate(DocumentEvent e)
      {
      }

      public void changedUpdate(DocumentEvent e)
      {
      }
    });

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)