2015-12-08 4 views
1

У меня есть программа в java, и есть GUI. Мне нужно создать список действий и окон для нескольких кадров. Я создаю один класс слушателя для каждого кадра. Например:Слушатель окна и прослушиватель действий в одном классе JAVA

public class Listener implements ActionListener, WindowListener { 

    HERE ALL NEEDED METHODS BY THIS TWO INTERFACES 
} 

И мой вопрос в том, что это хорошее решение? Или я должен создать для этого два отдельных класса? Я создаю его в одном классе, потому что у меня только несколько строк кода в методах WindowListener.

ответ

0

Это хорошее решение, если вы уважая https://en.wikipedia.org/wiki/Single_responsibility_principle

Если вы хотите сделать то же самое на события действия и события окна, один единственный класс является хорошим выбором.

Пример:

public class LoggerListener implements ActionListener, WindowListener { 

    ... 

    @Override 
    public void actionPerformed(ActionEvent e) { 
     logger.log("Action performed!"); 
    } 

    ... 

    @Override 
    public void windowOpened(WindowEvent e) { 
     logger.log("Window opened!"); 
    } 

} 

Но если вы хотите делать разные вещи (срубы, когда выполняется действие и показать сообщение при открытии некоторых окон, например), гораздо лучше создать два разных классов. Можно было бы расширить WindowAdapter, а другой мог бы реализовать ActionListener.

-1

я, вероятно, будет делать:

public class Listener extends WindowAdapter implements ActionListener { 

    @Override 
    public void actionPerformed(ActionEvent e) { 
    } 

} 

Меньше строк кода, так как вы не вынуждены выполнять все WindowListener методы.