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);
}});
}
'자바 > 자바팁' 카테고리의 다른 글
클래스패스 설정 (0) | 2010.10.25 |
---|---|
Borderlayout 기본설명 (0) | 2010.10.21 |
에코 클라이언트 과정 (0) | 2010.10.21 |
JDialog 고급활용 (0) | 2010.10.18 |
JFrame 관련 팁 (0) | 2010.10.18 |