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-настройки.