Кнопка (Button
) − компонент, обеспечивающий выполнение действия при нажатии.
XML-имя компонента: button
Компонент кнопки реализован для блоков Web Client и Desktop Client.
Кнопка может содержать текст или значок (или и то и другое). На рисунке ниже отображены разные виды кнопок.
Пример кнопки с названием, взятым из пакета локализованных сообщений, и с всплывающей подсказкой:
link:../../../../../../source/gui_vcl/button_1.xml[role=include]
Название кнопки задается с помощью атрибута caption, всплывающая подсказка − с помощью атрибута description.
Атрибут icon указывает на местоположение значка в каталоге темы или имя элемента в используемом наборе значков. Подробную информацию о том, где следует располагать файлы значков, можно прочитать в разделе [gui_icons].
Пример создания кнопки со значком:
link:../../../../../../source/gui_vcl/button_2.xml[role=include]
-
Метод должен быть
public
. -
Метод должен возвращать
void
. -
Метод должен либо не иметь аргументов, либо иметь один аргумент типа
Component
. Если метод имеет аргументComponent
, то при вызове в него будет передан экземпляр вызвавшей кнопки.
В качестве примера показано описание кнопки, вызывающей метод someMethod:
link:../../../../../../source/gui_vcl/button_3.xml[role=include]
В контроллере экрана необходимо определить метод someMethod
:
link:../../../../../../source/gui_vcl/button_4.java[role=include]
Пример кнопки с атрибутом action
:
link:../../../../../../source/gui_vcl/button_5.xml[role=include]
Кнопке можно назначить любое действие, имеющееся в каком-либо компоненте, реализующем интерфейс Component.ActionsHolder
(это актуально для Table, GroupTable, TreeTable, Tree). Причем неважно, каким образом эти действия добавлены - декларативно в XML-дескрипторе или программно в контроллере. В любом случае для использования такого действия достаточно в атрибуте action
указать через точку имя компонента и идентификатор нужного действия. Например, в следующем примере кнопке назначается действие create
таблицы coloursTable
:
link:../../../../../../source/gui_vcl/button_6.xml[role=include]
Действие для кнопки можно также создавать программно, в контроллере экрана, используя наследование от класса BaseAction.
Tip
|
Если для Если свойства действия меняются уже после установки этого |
- Атрибуты button
-
action - align - caption - description - disableOnClick - enable - icon - id - invoke - stylename - tabIndex - visible - width
- Предопределенные стили button
-
borderless - borderless-colored - danger - friendly - huge - icon-align-right - icon-align-top - icon-only - large - primary - quiet - small - tiny