JavaFX는 키보드 및 마우스 이벤트를 간단하게 처리할 수 있는 다양한 기능을 제공합니다. 이벤트 처리는 사용자의 입력에 따라 애플리케이션의 동작을 제어하는 중요한 부분입니다. 이 글에서는 JavaFX에서 키보드 및 마우스 이벤트를 처리하는 방법에 대해 알아보도록 하겠습니다.
키보드 이벤트 처리
JavaFX에서는 setOnKeyPressed
메서드를 사용하여 키보드 이벤트를 처리할 수 있습니다. 아래의 예제는 사용자가 키를 눌렀을 때 콘솔에 해당 키의 이름을 출력하는 간단한 코드입니다.
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import javafx.scene.input.KeyEvent;
public class KeyboardEventExample extends Application {
@Override
public void start(Stage primaryStage) {
StackPane root = new StackPane();
Scene scene = new Scene(root, 300, 200);
scene.setOnKeyPressed((KeyEvent event) -> {
System.out.println("Key Pressed: " + event.getCode().toString());
});
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
위의 코드에서는 setOnKeyPressed
메서드를 사용하여 KeyEvent
객체를 이용해 키 이벤트를 처리하고, getCode
메서드를 사용하여 눌린 키의 이름을 출력하고 있습니다.
마우스 이벤트 처리
JavaFX에서는 setOnMouseClicked
및 setOnMouseMoved
메서드를 사용하여 마우스 이벤트를 처리할 수 있습니다. 아래의 예제는 사용자가 마우스를 클릭했을 때 콘솔에 클릭한 위치의 좌표를 출력하는 간단한 코드입니다.
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import javafx.scene.input.MouseEvent;
public class MouseEventExample extends Application {
@Override
public void start(Stage primaryStage) {
StackPane root = new StackPane();
Scene scene = new Scene(root, 300, 200);
scene.setOnMouseClicked((MouseEvent event) -> {
double x = event.getX();
double y = event.getY();
System.out.println("Mouse Clicked at (" + x + ", " + y + ")");
});
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
위의 코드에서는 setOnMouseClicked
메서드를 사용하여 MouseEvent
객체를 이용해 마우스 클릭 이벤트를 처리하고, getX
와 getY
메서드를 사용하여 클릭한 위치의 좌표를 출력하고 있습니다.
요약
JavaFX를 사용하여 키보드 및 마우스 이벤트를 처리하는 방법에 대해 알아보았습니다. 위의 예제 코드들을 통해 간단한 이벤트 처리를 시작할 수 있습니다. 더 복잡한 이벤트 처리를 위해서는 JavaFX의 이벤트 핸들러들에 대한 더 많은 공부가 필요합니다. JavaFX 공식 문서를 참고하여 더 자세한 내용을 학습하시기 바랍니다.