2013-01-15 4 views
2

스윙에서 내 UI 코드를 깨끗하게 정리하는 방법을 찾고 있습니다.자바 스윙과 옵저버 패턴

MainWindow frame = new MainWindow("I am an App"); 

최고의 무엇인가

class MainWindow extends JFrame { 
    // SomePanel panel is added here 
} 
class SomePanel extends JPanel { 
    // buttons, checkboxes and so on are added here 
} 

내가 내 주요 방법 안에 MainWindow를 객체를 인스턴스화하고있어 말할 수 있습니다 :

의 내 UI 코드는 다음과 같이 구성되어 있다고 가정 해 봅시다 MainWindow 내에서 선언 된 SomePanel 내에서 선언 된 버튼의 ActionEvents를 청취하는 연습을 내 기본 메서드에서 수행 하시겠습니까?

도움 주셔서 감사합니다.

+0

[* 동작 사용 방법 *] (http://docs.oracle.com/javase/tutorial/uiswing/misc/action.html)을 참조하십시오. – trashgod

+1

[겸손한 대화] 참조 (http://home.arcor.de/fbdiplom/lit_pdf/fea02_thehumbledialogbox.pdf) – Robin

+0

고맙습니다 trashgod. 편집 : 그래서 사용자 정의 ActionEvents 작성 제안? – Macks

답변

5

herehere으로 표시된 PropertyChangeEvent을 사용하면 한 컨테이너에서 다른 컨테이너로 결과를 전달할 수 있습니다. observer pattern을 구현하는 다른 방법은 here입니다.

부록 : 맞춤 작성을 제안 하시겠습니까? ActionEvents?

EventListenerList은 관찰자 패턴을 구현하는 또 다른 방법입니다. 이러한 목록은 모든 JComponent에 공통적이며 두 개 이상의 이벤트 을 관리해야하는 경우에 적합합니다. JFreeChart은 데이터 모델이 변경 될 때 다양한 이벤트를 사용하여 차트 하위 구성 요소를 업데이트하는 또 다른 보편적 인 예입니다.

+0

감사합니다. 저는 이것을 자세히 살펴 보겠습니다. – Macks