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();
}
}