Оглавление

Компоненты
Кнопки
Переключатели
Списки Choice
Списки List
Поле Label
Поле TextField
Поле TextArea
Аплет FormDemo

    Кнопки

    Как мы уже говорили, стандартные кнопки создаются на базе класса Button. Этот класс очень простой, поэтому мы приведем полное его описание:

    Класс Button

    Конструкторы

    В классе Button определены два конструктора, первый из которых позволяет создавать кнопку без надписи, а второй - кнопку с надписью. Обычно используется второй конструктор.

      public Button();
      public Button(String label);

    Методы

    • addNotify

    Вызов метода createButton

    public void addNotify();

    Получение надписи на кнопке

    • getLabel
    public String getLabel();

    Получение строки параметров, отражающей состояние кнопки

    • paramString
    protected String paramString();

    Установка надписи на кнопке

    • setLabel
    public void setLabel(String  label);

    Из методов класса Button вы будете использовать чаще всего два - getLabel и setLabel. Первый из них позволяет получить строку надписи на кнопке, а второй - установить новую надпись.

    Обычно аплет создает в своем окне кнопки в процессе своей инициализации при обработке метода init, например:

    Button btn1;
    . . .
    public void init()
    {
      btn1 = new Button("Button 1");
      add(btn1);
    }

    Здесь мы создали кнопку с надписью Button 1. Затем мы добавили эту кнопку в контейнер, которым является окно аплета, с помощью метода add.

    Обработка событий от кнопки

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

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

    Прототип метода action представлен ниже:

    public boolean action(Event evt, Object obj)
    {
      . . .
    }

    В качестве первого параметра методу передается ссылка на объект класса Event, содержащий всю информацию о событии. Второй параметр представляет собой ссылку на объект, вызвавший появление события.

    Как обрабатывать событие в методе action?

    Прежде всего необходимо проверить, объект какого типа создал событие. Это можно сделать, например, следующим образом:

    if(evt.target instanceof Button)
    {
      . . .
      return true;
    }
    return false;

    Здесь мы с помощью оператора instanceof проверяем, является ли объект, вызвавший появление события, объектом класса Button.

    Далее, если в окне аплета имеется несколько кнопок, необходимо выполнить ветвление по ссылкам на объекты кнопок, как это показано ниже:

    if(evt.target.equals(btn1))
    {
      . . .
    }
    else if(evt.target.equals(btn2))
    {
      . . .
    }
    
    . . .
    
    else
    {
      return false;
    }
    return true;

    Тем из вас, кто создавал приложения Windows на языке программирования С, этот фрагмент кода может напомнить длинный переключатель switch обработки сообщений Windows.



Java | Продукты и решения | Технологии | Сервис и обучение
О компании | Партнеры | Новости | Поиск
Sun Microsystems Inc. Corporate Information Our partners News and Events Search on site Java Computing Products and Solutions Technologies and Researches Education and Service Content



Сайт создан в системе uCoz