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

Controller(2_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 Ex3Controller implements Initializable {
	@FXML private Button loginButton;
	@FXML private TextField idField;
	@FXML private PasswordField pwField;

	@Override
	public void initialize(URL location, ResourceBundle resources) {
		// Listner
		// - 키 입력 감지를 받아준다
		// - textProperty()매서드 호출 후에 호출이 가능하다.
		// - textproperty의 반환값이 attributes에 담긴다.
		idField.textProperty().addListener((attributes, before, after) -> {
			System.out.println(attributes);
			System.out.println(before);
			System.out.println(after);
		});
	}
	
	// FXML 의 code 카테고리에서 특정 이벤트에 대한 별도 매서드를 만들어 설정해줄 수 있다.
	public void loginButtonMethod() {
		loginButton.setOnAction(e -> {
			String id = "", pw = "";
			
				id = idField.getText();
				pw = pwField.getText();
				
				if (id.equals("") || pw.equals("")) {
					System.out.println("아이디 혹은 비밀번호가 입력되지 않았습니다.");
					idField.clear();
					pwField.clear();
					return;
				}
				
				System.out.println("아이디 : " + idField.getText());
				System.out.println("비밀번호 : " + pwField.getText());	
		});
	}

}

'GUI( JavaFX Scene Builder ) > SceneBuilder' 카테고리의 다른 글

Controller(2_Java_FXML)  (0) 2022.08.22
Controller(2_Java_Main)  (0) 2022.08.22
Controller(1_Java_FXML)  (0) 2022.08.22
Controller(1_Java_Controller)  (0) 2022.08.22
Controller(1_Java_Main)  (0) 2022.08.22