ToggleButton

Последнее обновление: 17.06.2018

Класс javafx.scene.control.ToggleButton представляет кнопку, которая может находиться в двух состояниях: включенном и выключенном. Этот класс также наследуется от класса ButtonBase и поэтому имеет некоторую общую для всех кнопок функциональность.

ToggleButton имеет три конструктора:

  • ToggleButton(): создает кнопку без надписи

  • ToggleButton​(String text): создает кнопку с определенной надписью

  • ToggleButton​(String text, Node graphic): создает кнопку с определенной надписью и фоновой графикой

ToggleButton определяет следующие свойства:

  • BooleanProperty selected: определяет, выделена ли кнопка

  • ObjectProperty<ToggleGroup> toggleGroup: определяет объект ToggleGroup, к которому принадлежит ToggleButton

Основные методы ToggleButton:

  • Boolean isSelected(): возвращает значение true, если кнопка выбрана

  • void setToggleGroup(ToggleGroup group): устанавливает объект ToggleGroup, к которому будет принадлежать ToggleButton

Например, используем объект ToggleButton:

import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.layout.FlowPane;
import javafx.scene.control.Label;
import javafx.scene.control.ToggleButton;
import javafx.geometry.Orientation;
import javafx.geometry.Insets;
 
public class Main extends Application{
	
    public static void main(String[] args) {
         
        Application.launch(args);
    }
     
    @Override
    public void start(Stage stage) throws Exception {
	
		ToggleButton lightBtn = new ToggleButton("Light");
		Label stateLbl = new Label();
		// обработка нажатия
		lightBtn.setOnAction(event -> {
			
			if(lightBtn.isSelected()){
				stateLbl.setText("Light on!");
			}
			else{
				stateLbl.setText("Light off...");
			}
		});
		
		FlowPane root = new FlowPane(10, 10);
		root.getChildren().addAll(lightBtn, stateLbl);
		root.setPadding(new Insets(10));
        Scene scene = new Scene(root, 250, 200);
         
        stage.setScene(scene);
         
        stage.setTitle("Hello JavaFX");
         
        stage.show();
    }
}

В данном случае при нажатии на кнопку мы изменяем надпись на элементе Label:

ToggleButton in JavaFX
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850