HOWTO · Java

JavaFX의 setOnAction 메소드

이 자습서에서는 JavaFX의 setOnAction 메서드에 대해 설명합니다.

이 페이지의 내용

작업을 생성하지 않으면 사용자 인터페이스는 아무것도 아닙니다. 작업은 사용자가 시스템에 특정 작업을 수행하도록 명령할 때 시작되는 시스템 프로세스입니다.

JavaFX에서는 setOnAction() 메서드를 사용하여 작업을 추가할 수 있습니다.

이 기사에서는 UI 구성 요소에 대한 작업을 만드는 방법을 살펴봅니다. 또한 주제를 더 쉽게 이해할 수 있도록 설명과 함께 예를 볼 것입니다.

JavaFX에서 setOnAction 메서드 사용

아래 예제에서는 레이블버튼이라는 두 가지 기본 UI 구성 요소로 간단한 UI를 만들었습니다. 예제의 코드는 다음과 같습니다.

// Importing necessary packages
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;

public class FXsetAction extends Application {
  Button Btn; // Decleares a button
  Label lbl; // Decleares a lebel
  Scene scene; // Decleares a scent
  HBox _hbox; // Decleares a Hbox

  public void start(Stage PrimaryStage) throws Exception {
    PrimaryStage.setTitle("JavaFX setOnAction"); // Set the application title
    lbl = new Label("Button not clicked"); // Create a label with default text "No click found"
    Btn = new Button("Click"); // Create a button with label "Click"

    Btn.setOnAction(value -> { // Button action handler function
      lbl.setText("Button Clicked!!!"); // When the button clicked, it will change the lable default
                                        // text from "No click found" to "Clicked!!!".
    });

    _hbox = new HBox(Btn, lbl); // Create a HBox

    scene = new Scene(_hbox, 400, 300); // Create a scene with HBox and necessary height and weight
    PrimaryStage.setScene(scene); // Set scene
    PrimaryStage.show(); // Visualize the application
  }

  public static void main(String[] args) {
    Application.launch(args); // Launch the application
  }
}

우리는 이미 각 줄의 목적에 대해 코드에 주석을 달았습니다. 이제 코드가 어떻게 작동하는지 설명하겠습니다.

lbl = new Label ("Button not clicked"); 줄에 의해 Button not clicked라는 기본 텍스트로 코드에 레이블을 만들었습니다. 이 레이블의 목적은 사용자에게 키를 눌렀다는 메시지를 표시하는 것입니다.

그런 다음 간단한 키 누르기 이벤트를 만들었습니다. 사용자가 키보드에서 키를 누를 때 실행되는 작업으로 레이블 기본 텍스트를 변경하고 Button Clicked!!!로 설정했습니다.

따라서 이를 위해 코드는 lbl.setText("Button Clicked!!!"); 작업을 추가합니다.

이제 성공적인 컴파일 후 코드를 실행하면 JavaFX setOnAction이라는 제목의 창이 열리고 키보드에서 키를 누르면 아래와 같은 출력이 표시됩니다.

출력:

setOnAction JavaFX 출력

IDE가 라이브러리 및 패키지의 자동 포함을 지원하지 않는 경우 컴파일하기 전에 이러한 필수 라이브러리 및 패키지를 수동으로 포함해야 할 수 있습니다.