본문 바로가기
GUI( JavaFX Scene Builder )/SceneBuilder

Controller(1_Java_Controller)

by pms93 2022. 8. 22.
package ex2;

import java.net.URL;
import java.util.ResourceBundle;

import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Button;
import javafx.scene.control.PasswordField;
import javafx.scene.control.TextField;

public class Ex2Controller implements Initializable {

	// @FXML (Annotation)
	// - fx:id와 참조변수의 이름이 같다면 알아서 참조값을 넣어준다.
	// - 해당되는 참조변수마다 붙여줘야 한다.
	@FXML private Button loginButton;
	@FXML private TextField idField;
	@FXML private PasswordField pwField;
	
	// FXML 로드시에 컨트롤러 클래스가 인스턴스 되며 하단의 initializable 매서드가 자동으로 호출된다.
	// 화면에 관련된 기능의 호출은 initializable에서 처리된다.
	@Override
	public void initialize(URL location, ResourceBundle resources) {
		System.out.println("Ex2.fxml 화면이 실행되면서 함께 호출");
		
		loginButton.setOnAction(e -> {
			String id = "", pw = "";
			
			id = idField.getText();
			pw = pwField.getText();
				
			if (id.equals("") || pw.equals("")) {
				System.out.println("아이디 혹은 비밀번호가 입력되지 않았습니다.");
				// .clear()
				// - 입력Field를 비워준다.
				idField.clear();
				pwField.clear();
				return;
			}
				
			System.out.println("아이디 : " + idField.getText());
			System.out.println("비밀번호 : " + pwField.getText());	
		});
	}

}