Programming > Java

[Listener] 리스너 사용하게

이벤트 리스너

Listener 형 interface

public interface IFMyClickListener {
      
       public void onMyClick(String name);
}

Listener를 포함하는 부품 클래스

public class MyButton {

       /** 리스너를 포함한다. **/
       IFMyClickListener listener;
      
       // 리스너를 설정한다.
       public void setOnClickListener(IFMyClickListener listener) {
             this.listener = listener;
       }
      
       /*
     * 실제로 이벤트를 요청하는 메소드
     * GUI등에서는 실제로 부품이 선택되었을때 Call한다.
     */
       public void executeClick(String name) {
             listener.onMyClick(name);
       }
}

 

리스너를 포함한 클래스를 사용하기

public class MainEntry {

       public static void main(String[] args) {
             // TODO Auto-generated method stub
            
             MyButton btn = new MyButton();
             btn.setOnClickListener(new IFMyClickListener() {
                   
                    @Override
                    public void onMyClick(String name) {
                           System.out.println("Name : " + name);
                    }
             });
            
             // MyButton 클릭
             btn.executeClick("클릭했어요");
       }
}