자바/자바팁
action event 를 쓸때 컴파일시 inner class 에러 나는 경우
행복한 수지아빠
2010. 10. 18. 10:22
반응형
addActionListener() 호출시 사용한 new ActionListener() { ... } 부분이
anonymous inner class이고 asd()의 인자인 str을 여기로 고이 전달하려면
str을 final로 선언해야 한다는 얘깁니다.
아래와 같이 final 붙여주면 됩니다.
class asd extends Frame
{
public asd(final String str){
setSize(300,200);
setVisible(true);
Button bt = new Button("go");
add(bt);
bt.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.out.println(str);
}});
}
반응형