Перейти к содержанию

Button

Стандартная интерактивная кнопка с композируемой поверхностью, иконкой, текстом и переходами состояний.

Обзор

Button расширяет SurfaceWidget<Button>, объединяя стилизованную поверхность (сплошной цвет, текстура или GLSL-шейдер), рамку, скругление углов, кольцо фокуса и центрированный текст/иконку.

Поддерживает реактивные стили состояний (WidgetState.NORMAL, HOVERED, PRESSED, DISABLED), захват курсора, активацию клавишами (SPACE, ENTER) и подписку на клики через onClick(...).

Настройка состояний

Кнопки поддерживают явные переопределения состояний, имеющие приоритет над темой оформления:

  • hoverBackground(color): Цвет фона при наведении курсора.
  • pressedBackground(color): Цвет фона в момент нажатия.
  • hoverTexture(handle) / pressedTexture(handle): Отдельные текстуры для состояний.
  • hoverShader(handle): Процедурный GLSL-шейдер, активный при наведении.
  • interactionTransitions(true): Включает плавную анимацию масштаба и прозрачности при взаимодействии.

Основная кнопка действия

Button saveBtn = new Button("Сохранить")
        .background(ColorView.ofHex("#2C82C9"))
        .hoverBackground(ColorView.ofHex("#3A99D8"))
        .radius(6.0f);
saveBtn.onClick(e -> saveSettings());

Связанные ссылки

API

Button()

Конструктор

Создаёт пустой виджет кнопки.

Button(String)

Создать с текстом

Создаёт кнопку с текстовой подписью.

Параметр Тип Описание
text String текст подписи

Button(RichText)

Создать с RichText

Создаёт кнопку с форматированным текстом RichText.

Параметр Тип Описание
text RichText объект форматированного текста

Button::richText(RichText)

Задать RichText

Задаёт форматированный текст RichText кнопки.

Параметр Тип Описание
richText RichText объект форматированного текста

Возвращает Button: этот виджет для fluent-настройки.

Button::onClick(EventListener)

Слушатель клика

Регистрирует коллбэк, вызываемый при клике мыши или нажатии клавиши активации.

Параметр Тип Описание
listener EventListener слушатель события клика

Возвращает EventSubscription.

Button::hoverBackground(ColorView)

Задать фон при наведении

Задаёт пользовательский цвет фона при наведении курсора.

Параметр Тип Описание
color ColorView значение цвета

Возвращает Button: этот виджет для fluent-настройки.

Button::pressedBackground(ColorView)

Задать фон при нажатии

Задаёт пользовательский цвет фона в момент нажатия.

Параметр Тип Описание
color ColorView значение цвета

Возвращает Button: этот виджет для fluent-настройки.