برای رسیدگی به هر event در Swing یکسری interface با نام Listener وجود دارد، برای مثال رویداد کلیک یک Listener با نام ActionListener دارد.
از طرف دیگر هر کامپوننت در Swing برای هر event یک متد add دارد که ما می توانیم یک شئ برای رسیدگی به event مورد نظر به آن متد add بفرستیم .
برای مثال button را در نظر بگیریم، یک متد با نام addActionListener دارد که برای رسیدگی به رویداد کلیک، یک شئ دریافت می کند که این شئ باید حتما از کلاسی نمونه سازی شده باشد که ActionListener را implements کرده باشد.
JButton buttonTest = new JButton("Test");
buttonTest.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//Do something after each click on button
}
});
}
در کد بالا شئ Listener بصورت Anonymous Inner Class تعریف شده و به متد addActionListener داده شده.