【问题标题】:ObservableBuffer to publish swing eventsObservableBuffer 发布摇摆事件
【发布时间】:2011-05-02 02:27:50
【问题描述】:

如何让scala.collection.mutable.ObservableBuffer 发布摆动事件,以便在缓冲区更改时更新我的​​组件?

令人困惑的是,scala 有两个Publisher 的实现。一个是scala.collection.mutable.Publisher,第二个是scala.swing.Publisher。可惜ObservableBuffer只扩展了Publisher的第一类。

【问题讨论】:

    标签: swing scala scala-collections publisher


    【解决方案1】:

    您可以编写ObservableBuffer 的子类,将事件从Scala 方式转换为Swing 方式。我这样做是为了将 ObservableBuffer 变成 Eclipse IObservableList,你可以在这里查看:https://gist.github.com/951288

    请注意,这是一种快速复制粘贴,并非所有内容都可以编译,但您明白了。

    【讨论】:

    • 好的。我想我希望有一个巧妙的方法,但也许这是不可能的。
    • 我的代码可能比 Swing 发布者所需的复杂;其中大部分是为了正确处理IObservableListListDiffEvent。不要忘记override def ++= 虽然因为这个错误:lampsvn.epfl.ch/trac/scala/ticket/4461
    • Philippe -- 我打算只复制ObservableBuffer 的源代码并修改所有对publish 的调用。
    • @dsg 很酷,这样你就可以直接避免重现上面链接的错误 4461。
    猜你喜欢
    • 2013-11-01
    • 1970-01-01
    • 2012-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多