2018년 10월 15일 월요일

javaFx 기본 버튼 핸들러

package application;

import java.net.URL;
import java.util.Random;
import java.util.ResourceBundle;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
public class SampleController implements Initializable{

 @FXML private Button b1;
 @FXML private Label m;

// fxml에서 바로 입력한 함수 구현
 public void generateRandom(ActionEvent event){
        Random rand = new Random();
        int myrand = rand.nextInt(50) + 1;
        m.setText(Integer.toString(myrand));
       
       
      
    }
 @Override
 public void initialize(URL location, ResourceBundle resources) {
  // TODO Auto-generated method stub
  m.setText("gkgkgk");
//자바 내에서 이벤트 함수 구현
  b1.setOnAction(new EventHandler<ActionEvent>() {
   @Override
   public void handle(ActionEvent arg0) {
    // TODO Auto-generated method stub
    handleB1(arg0);
   }
  
  });
 
 }
 public void handleB1(ActionEvent event) {
  System.out.println("asd");;
 }


}




이벤트를 등록할때 fxml 에서 2가지 방식이 있음
1. 태그에 onAction 속성으로 함수를 입력하는방식
2. 등록된 controller에서 입력하는는방식




javafx 이벤트 핸들러 작동 방식

위임형 방식이란 컨트롤에서 이벤트가 발생하면, 컨트롤이 직접 처리하지 않고 이벤트 핸들러에게 이벤트 처리를 위임하는 방식입니다. 예를 들어 사용자가 Button을 클릭하면 ActionEvent가 발생하고, Button에 등록된 EventHandler가 ActionEvent를 처리합니다.



  EventHandler는 컨트롤에서 이벤트가 발생하면, 자신의 handle() 메소드를 실행시킵니다. handle() 메소드에는 윈도우 닫기, 컨트롤 내용 변경, 다이얼로그 띄우기 등의 다양한 코드를 작성할 수 있습니다. 


출처: http://palpit.tistory.com/744 [palpit's log-b]







flutter 기본 개념 1

  Scaffold  - 화면 뼈대 역할  - 기본적으로 AppBar body floatingActionButton 같은걸 배치해줌  return Scaffold (       appBar : AppBar ( title : const Text ...