2011-05-02 3 views
0

scala.collection.mutable.ObservableBuffer 스윙 이벤트를 게시하여 버퍼가 변경되면 구성 요소를 업데이트 할 수 있습니까?ObservableBuffer를 사용하여 스윙 이벤트 게시

혼란스러운 점은 scala에는 Publisher의 두 가지 구현이 있다는 것입니다. 하나는 scala.collection.mutable.Publisher이고 두 번째는 scala.swing.Publisher입니다. ObservableBuffer이 첫 번째 유형 인 Publisher 만 확장한다는 것은 불행한 일입니다.

답변

2

이벤트를 스칼라 방식에서 스윙 방식으로 변환하는 ObservableBuffer의 하위 클래스를 작성할 수 있습니다. 내가 그 이클립스 IObservableList 내로 ObservableBuffer을 설정하는 한, 당신은 여기에서 확인할 수 있습니다 : 그것은 빠른 복사 - 붙여 넣기입니다 https://gist.github.com/951288

참고, 모든 것이 컴파일 할 수 있습니다,하지만 당신은 아이디어를 얻을.

+0

괜찮습니다. 나는 매끄러운 방법을 원했던 것 같지만 아마 불가능할 것입니다. – dsg

+0

내 코드는 Swing 게시자에게 필요한 것보다 더 복잡 할 수 있습니다. 그것의 대부분은'IObservableList'의'ListDiffEvent'를 올바르게 다루는 것입니다. 이 버그 때문에'override def ++ ='를 잊지 마라. https://lampsvn.epfl.ch/trac/scala/ticket/4461 –

+0

필립 - 나는' ObservableBuffer'를 호출하고'publish'에 대한 모든 호출을 수정하십시오. – dsg