티스토리 뷰


ListenerSample 클래스와 동일한 기능을 하는 클래스이다.

외부 클래스였던 MyActionListener를 이너클래스로 변경하였다.

이외에도 익명이너클래스로 구현하면 좀 더 간단하다.



public class InnerClassListener extends JFrame {


InnerClassListener() {

setTitle("Action Event Listener implementation");

setLayout(new FlowLayout());

setDefaultCloseOperation(EXIT_ON_CLOSE);


JButton btn = new JButton("Action");


btn.addActionListener(new MyActionListener());

add(btn);

setSize(300, 150);

setVisible(true);

}


class MyActionListener implements ActionListener {


@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

JButton b = (JButton) e.getSource();

if (b.getText().equals("Action")) {

b.setText("noitcA");

} else

b.setText("Action");

setTitle(b.getText()); 

// Out클래스의 멤버나 상속받은 JFrame의 멤버 호출 가능

}

}


public static void main(String[] args) {

// TODO Auto-generated method stub

new InnerClassListener();

}

}



'java,web study > 3주차 (7월 15일 ~21일)' 카테고리의 다른 글

Event Delegation  (0) 2013.07.19
MouseAdapterEx  (0) 2013.07.19
InnerClassListener  (0) 2013.07.19
ListenerMouseEx  (0) 2013.07.19
ListenerSample  (0) 2013.07.19
리스너 인터페이스와 메소드  (0) 2013.07.19
TAG
댓글
댓글쓰기 폼