Докуметация Cтарт Статьи Форум Лента Вход
Не официальное русскоязычное сообщество
Главная
    Документация jMonkeyEngine
        jMonkeyEngine Уроки и Документация
            Вклады
                tonegodGUI
                    Кнопка

Кнопка

Опубликованно: 30.04.2017, 20:55
Последняя редакция, Andry: 01.05.2017 14:14

Класс Button

  • Кнопки имеют состояние по умолчанию(default state), состояние наведения(hover state) и нажатое состояние(pressed state).
  • Они реализуют интерфейсы tonegodGUI MouseButtonListener и MouseFocusListener
  • Они предоставляют необязательное событие stillPressed
  • Может состоять из текстовой метки(text label) или значка(icon)
  • Они могут быть установлены в режим Toggle.
  • Они имеют установленные по умолчанию эффекты Hover, Pressed и LoseFocus
  • Кнопки — это абстрактный класс, предоставляющий методы для обработки пользовательского ввода

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

Конструктор 1:

/** Параметры:
  * Screen screen,
  * String UID,
  * Vector2f положение
  */

Button button = new Button(screen, “button”, new Vector2f(15, 15));

Конструктор 2:

/** Дополнительные параметры:
  * Vector2f размеры  */

Button button = new Button(screen, “button”, new Vector2f(15, 15),
    new Vector2f(100, 25)
);

Конструктор 3:

/** Дополнительные параметры:
  * Vector4f resizeBorders,
  * String defaultImg
  */

Button button = new Button(screen, “button”, new Vector2f(15, 15), new Vector2f(100, 25),
    new Vector4f(5,5,5,5),
    “tonegod/gui/style/def/Button/button_u_x.png”
);

Состояние наведения(Hover State)

Вы можете переопределить состояние наведения по умолчанию, используя следующий метод:

// Override the information used by the hover effect
button.setButtonHoverInfo(String imagePath, ColorRGBA textHoverColor);

Нажатое состояние(pressed state)

Вы можете переопределить нажатое по умолчанию состояние, используя следующий метод:

// Override the information used by the pressed effect
button.setButtonPressedInfo(String imagePath, ColorRGBA textPressedColor);

Методы абстрактных событий:

public void onButtonMouseLeftDown(MouseButtonEvent evt, boolean toggled);
public void onButtonMouseRightDown(MouseButtonEvent evt, boolean toggled);
public void onButtonMouseLeftUp(MouseButtonEvent evt, boolean toggled);
public void onButtonMouseRightUp(MouseButtonEvent evt, boolean toggled);
public void onButtonFocus(MouseMotionEvent evt);
public void onButtonLostFocus(MouseMotionEvent evt);
public void onButtonStillPressedInterval();

Добавление значка

Вместо текста вы можете использовать значок изображения, вызывая следующий метод:

button.setButtonIcon(float width, float height, String texturePath);

Методы, относящиеся к классу Button

//Показать/скрыть информацию
button.setIsToggleButton(boolean isToggleButton); // Также предоставляет getter
button.getIsToggleButton();
button.getIsToggled();

// Дополнительная информация о состоянии
button.clearAltImages();

// Включение / выключение Interval вызовов (событие «StillPressed»)
button.setInterval(float intervalsPerSecond); // 0 дезактивирует
Если не заданно иначе, используйте примитивный метод Element для задания текста элемента управления. Например, чтобы установить текст экземпляра Button, вы просто вызываете:

button.setText(String text);

Класс ButtonAdapter

Советы по использованию класса Button:

  • Создать кнопку
  • Реализация всех абстрактных методов
  • Напишите код для обработчиков событий, которые вы хотите использовать.
  • Измените кнопку на ButtonAdapter
  • Удалить все неиспользуемые методы обработчика событий

Переведено для jmonkeyengine.ru, оригинал
Автор перевода: Andry

Добавить комментарий

jMonkeyEngine.ru © 2017. Все права сохранены.