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

+ Recent posts