티스토리 뷰
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 |
ListenerMouseEx (0) | 2013.07.19 |
ListenerSample (0) | 2013.07.19 |
리스너 인터페이스와 메소드 (0) | 2013.07.19 |