2012-04-22 3 views

답변

2

당신은 하나 개의 클래스

public void addSomeButtonActionListener(ActionListener listener) { 
    someButton.addActionListener(listener); 
} 

의 공개 방법을 만들 수있는 다른 클래스에서 뭔가를 얻을 수있는 그들 중 하나의 버튼이 있고이 허용 것 다른 객체를 사용하여 관심 버튼에 리스너를 추가합니다. 버튼에 여러 개의 청취자가 추가 된 경우, 어떤 청취자가 먼저 청취되는지, 어떤 청취 순서로 청취자가 보장되는지는 알 수 없습니다.

또는, 모든 Swing 컴퍼넌트 고유의 PropertyListener 서포트를 사용해, 독자적인 바운드 프로퍼티를 작성해, 바운드 프로퍼티의 변경을 대기하고있는 외부 클래스가 PropertyChangeListeners를 클래스의 클래스에 추가 할 수가 있습니다. 자세한 내용은 this tutorial을 확인하십시오. 이 방법을 사용하고 클래스가 Swing 구성 요소를 확장하는 경우에는또는 removePropertyChangeListener(...)을 작성할 필요가 없습니다. 이러한 메서드와 SwingPropertyChangeSupport 필드는 이미 모든 Swing 구성 요소의 내장 구성 요소이기 때문에주의하십시오. 클래스가 Swing 구성 요소를 확장하지 못하면 위의 메서드를 작성해야하지만 GUI 클래스의 중요 구성 요소 중 하나의 SwingPropertyChangeSupport를 계속 사용할 수 있습니다.

후자의 솔루션은 내가 좋아하는 솔루션이지만, 필자는 내 견해보다는 내 모델의 바운드 속성을 더 자주 듣는다.

자세한 내용이 필요하면 코드와 문제에 대해 자세히 알려주십시오.

관련 문제