람다식(lambda expression)은 이름이 없는 메소드(함수)라고 할 수 있다. 우리가 람다식을 사용하는 이유는 간결함 때문이다. 람다식을 이용하면 메소드가 필요한 곳에 간단히 메소드를 보낼 수 있다. 특히 메소드가 딱 한번만 사용되고 메소드의 길이가 짧은 경우에 유용하다. 이전 버전의 자바에서는 메소드를 객체로 만들 수 있는 방법이 없었다. 하지만 JDK8부터는 함수를 객체로 만들 수 있다.
import javax.swing*;
import java.awt.event.*;
public class MyFrame extends JFrame {
private JButton button;
private JLabel label;
int counter = 0;
public MyFrame() {
this.setSize(400, 150);
this.setTitle("이벤트 예제");
JPanel panel = new JPanel();
button = new JButton("증가");
label = new JLabel("현재의 카운터 값 : "+counter);
button.addActionListener ( e-> {
counter++;
labeel.setText("현재의 카운터 값 : "+counter);
});
//람다식을 이용하여 이벤트를 처리하고 있다. 변수 e는 이벤트를 나타낸다.
람다식은 함수를 객체로 만들어서 메소드에 전달할 수 있다.
panel.add(label);
panel.add(button);
add(panel);
setVisible(true);
}
public static void main(String args[]){
MyFrame t = new MyFrame();
}
}
'java > 이벤트 처리' 카테고리의 다른 글
Mouse와 MouseMotion 이벤트 (0) | 2019.05.22 |
---|---|
여러 가지 이벤트 처리 방법 (0) | 2019.05.11 |
이벤트란? (0) | 2019.05.11 |