스윙, AWT 프로그램을 작성할 때 이벤트 핸들러를 기술하기 위해 익명클래스를 많이 이용했는데 자바8의 람다식을 이용하면 간단한다. 원래 람다식은 익명메소스(무명함수)를 만들기 위해 나온것 이다.
package ojc;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class ListenerLambdaTest {
public static void main(String[] args) {
JButton button = new JButton("Lambda Test Button");
// 버튼 클릭 이벤트 핸들러1
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent ae) {
System.out.println("익명클래스를 이용한 리스너액션");
}
});
// 버튼 클릭 이벤트 핸들러2
button.addActionListener(e -> System.out.println("람다 리스너를 이용한 버튼클릭"));
JFrame frame = new JFrame("Lambda Listener Test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(button, BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
}
}
댓글 없음:
댓글 쓰기