Как сделать кнопку невидимой java
JavaFX Button руководство по работе с кнопками
Элемент управления JavaFX Button позволяет приложению выполнять некоторые действия, когда пользователь приложения нажимает кнопку. Элемент представлен классом javafx.scene.control.Button. Кнопка может иметь текст и значок, которые указывают пользователю, что будет делать нажатие кнопки.
Создание
Вы создаете элемент управления Button, создавая экземпляр класса Button:
Текст, отображаемый на кнопке, передается в качестве параметров конструктору Button.
Добавление в граф Scene
Чтобы кнопка была видимой, объект кнопки должен быть добавлен в граф Scene. Это означает добавление его к объекту Scene или как дочерний элемент макета, который присоединен к объекту Scene.
Вот пример, который присоединяет кнопку к графу сцены:
Обратите внимание, что кнопка добавляется непосредственно в объект Scene. Обычно вы вкладываете Button в какой-либо компонент макета.
Результатом выполнения приведенного выше примера кнопки является приложение, которое выглядит следующим образом:
Обратите внимание, что кнопка занимает все пространство, доступное в окне. Вот почему трудно увидеть края кнопки. Когда кнопка добавлена к компоненту макета, вы можете легче увидеть края кнопки.
Текст
Есть два способа установить текст кнопки:
Размер текста
Обтекание текстом кнопки
Элемент управления Button поддерживает перенос текста текста кнопки. Под переносом текста подразумевается, что если текст слишком длинный для отображения в одной строке внутри кнопки, текст разбивается на несколько строк.
Вы включаете перенос текста в экземпляре Button с помощью метода setWrapText(). Он принимает один логический параметр. Если вы передаете значение true в setWrapText(), тогда вы включаете перенос текста. Если false, отключаете. Вот пример:
Вот снимок экрана с двумя кнопками JavaFX, для одной из которых включена функция переноса текста:
Изображение
Можно отобразить изображение внутри кнопки рядом с текстом. Класс Button содержит конструктор, который может принимать Node в качестве дополнительного параметра. Вот пример метки, который добавляет изображение с помощью компонента ImageView:
Результатом выполнения приведенного выше примера кнопки является приложение, которое выглядит следующим образом:
Размер
Класс Button содержит набор методов, которые вы можете использовать для установки размера кнопки:
Вот скриншот двух кнопок. Первая имеет размер по умолчанию, рассчитанный по ее тексту кнопки и компоненту макета, внутри которого она вложена. Вторая имеет предпочтительную ширину 200 и высоту 48, установленную на ней:
События
Чтобы реагировать на нажатие кнопки, необходимо прикрепить прослушиватель событий к объекту Button:
Вот как выглядит присоединение слушателя события щелчка с помощью лямбда-выражения Java:
Наконец, давайте посмотрим на полный пример, который изменяет текст метки при нажатии кнопки:
Мнемоника
Вы можете установить мнемонику для экземпляра Button — это клавиша клавиатуры, которая активирует кнопку при нажатии вместе с клавишей ALT. Таким образом, мнемоника — это сочетание клавиш для активации кнопки.
Мнемоника для кнопки указывается внутри текста кнопки. Вы отмечаете, какая клавиша будет использоваться как мнемоника, помещая символ подчеркивания (_) перед символом в тексте кнопки. Символ подчеркивания не будет отображаться в тексте кнопки. Вот пример:
Обратите внимание, что необходимо сначала вызвать setMnemonicParsing() для кнопки со значением true. Это дает команду кнопке анализировать мнемонику в ее тексте. Если вы вызываете этот метод со значением false, символ подчеркивания в тексте кнопки будет просто отображаться как текст и не будет интерпретироваться как мнемоника.
Чтобы активировать кнопку, теперь вы можете нажать ALT-C (одновременно). Это активирует кнопку, как если бы вы щелкнули по ней мышью.
Вы также можете сначала нажать клавишу ALT один раз. Это покажет мнемонику кнопки в тексте кнопки. Затем вы можете нажать клавишу c. Если вы нажмете ALT, а затем снова ALT, мнемоника сначала будет показана, а затем снова скрыта. Когда мнемоника видна, вы можете активировать кнопку только с помощью мнемонической клавиши, не нажимая при этом ALT. Когда мнемоника не видна, вы должны одновременно нажать ALT и клавишу мнемоники, чтобы активировать кнопку.
Вот два скриншота, показывающих, как это выглядит, когда мнемоника невидима и видима:
CSS-стили
Вы можете стилизовать кнопку, используя стили CSS. Элемент управления Button поддерживает следующие стили CSS:
Вот пример установки цвета фона кнопки на красный:
Этот пример устанавливает стиль непосредственно для кнопки с помощью метода setStyle(), но вы также можете стилизовать кнопку с помощью таблиц стилей.
Вот пример, который создает 4 разных кнопки. На каждой установлен стиль CSS.
Вот скриншот 4 кнопок JavaFX с их стилем CSS:
Вы можете объединить стили CSS для кнопки, просто установив для нее несколько свойств CSS, как это сделала первая кнопка в приведенном выше примере.
Отключение
Вы можете отключить кнопку с помощью метода setDisable(). Он принимает логический параметр, который указывает, должна ли кнопка быть отключена или нет. Значение true означает, что кнопка будет отключена, а значение false означает, что она не будет отключена, что означает, что она включена. Вот пример отключения: