3층 1구역 - 개발의 장/JAVAfx - GUI

JAVA fx - JAVA fx controll - ToggleButton (2022-08-18)

상이태상 2022. 8. 18. 22:12

1. 서론

 

명사

  • 1

    토글(외투 등에 다는 짤막한 막대 모양의 단추)

  • 2

    토글 키(on/off처럼 두 상태 중 하나를 선택하는 데 쓰는 키)

동사

  • 1

    (토글 키로) 켰다 껐다[왔다 갔다] 하다

     

    이번엔 토글버튼에 대해 알아보자.

    토글은 위의 사전처럼 on/off를 설정할 수 있는 버튼이다.

     

2. 본론

package controls_0818;

import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.ToggleButton;
import javafx.scene.control.ToggleGroup;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;

public class ToggleButtonEx extends Application{

	public static void main(String[] args) {
		launch(args);
	}

	@Override
	public void start(Stage primaryStage) throws Exception {
		primaryStage.setTitle("ToggleButton Test");
		
		//버튼을 눌렀을 때 그 현상이 지속되는 상태를
		//만들어줄 때 사용함.(스킬 활성화/비활성화)
		ToggleButton bt1 = new ToggleButton();
		ToggleButton bt2 = new ToggleButton();
		
		//다중선택을 단일선택으로 바꿈.
		ToggleGroup group = new ToggleGroup();
		bt1.setToggleGroup(group);
		bt2.setToggleGroup(group);
		
		bt1.setText("스킬1 활성화");
		bt2.setText("스킬2 활성화");
		
		HBox box = new HBox();
		box.getChildren().addAll(bt1, bt2);
		box.setAlignment(Pos.CENTER);
		box.setSpacing(10);
		
		primaryStage.setScene(new Scene(box, 300, 200));
		primaryStage.show();
		
		
	}

}

위 코드에서 눈치챈 사람도 있겠지만, 토글 또한 동시선택이 가능하다.

그래서 setToggleGroup을 통해 그룹으로 묶어 하나를 선택하면 다른 하나는 선택이 해제 되도록 해주었다.

 

 

버튼은 이미지로도 가능하다.

package controls_0818;


import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.ToggleButton;
import javafx.scene.control.ToggleGroup;
import javafx.scene.image.ImageView;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;

public class ToggleButtonEx2 extends Application{

	public static void main(String[] args) {
		launch(args);
	}

	@Override
	public void start(Stage primaryStage) throws Exception {
		primaryStage.setTitle("ToggleButton Test");
		
		//버튼을 눌렀을 때 그 현상이 지속되는 상태를
		//만들어줄 때 사용함.(스킬 활성화/비활성화)
		ToggleButton bt1 = new ToggleButton();
		ToggleButton bt2 = new ToggleButton();
		ToggleButton bt3 = new ToggleButton();
		
		//다중선택을 단일선택으로 바꿈.
		ToggleGroup group = new ToggleGroup();
		bt1.setToggleGroup(group);
		bt2.setToggleGroup(group);
		bt3.setToggleGroup(group);
	
		//setGraphic을 통해 이미지로 버튼을 만들 수 있다.
		//직업선택
		bt1.setGraphic(new ImageView("/img/magi.png"));
		bt2.setGraphic(new ImageView("/img/rogue.png"));
		bt3.setGraphic(new ImageView("/img/warrior.png"));
				
		HBox box = new HBox();
		box.getChildren().addAll(bt1, bt2, bt3);
		box.setAlignment(Pos.CENTER);
		box.setSpacing(10);
		
		primaryStage.setScene(new Scene(box, 600, 200));
		primaryStage.show();
		
		
	}

}