Swing 如何制作自己的Scala UI事件

Swing 如何制作自己的Scala UI事件,swing,events,scala,scala-swing,Swing,Events,Scala,Scala Swing,我目前正在开发我的第一个更大的Scala Swing,我已经将我的作为tile map editor的一部分编写,用户在其中选择tile 正如组合框在选择另一个元素时发出某种事件一样,我希望这个组件使用我自己的case类执行相同的操作。我还没有找到任何关于这个主题的文章或教程 在进一步的说明中,如何编写一个发布子组件事件的组件。因此,它可以直接到达他们那里。也许可以看看其他扩展scala swing的项目。比如有,;我认为查看组件及其关联的是一个很好的起点,因为这是一个相当简单的组件 impor

我目前正在开发我的第一个更大的Scala Swing,我已经将我的作为tile map editor的一部分编写,用户在其中选择tile

正如组合框在选择另一个元素时发出某种事件一样,我希望这个组件使用我自己的case类执行相同的操作。我还没有找到任何关于这个主题的文章或教程


在进一步的说明中,如何编写一个发布子组件事件的组件。因此,它可以直接到达他们那里。

也许可以看看其他扩展scala swing的项目。比如有,;我认为查看组件及其关联的是一个很好的起点,因为这是一个相当简单的组件

import javax.{swing => js}
import js.{event => jse}
import java.awt.Color
import scala.swing._
import event.Event

class ColorChooser(initialColor: Color) extends Component {
  ...
  override lazy val peer: js.JColorChooser = 
    new js.JColorChooser(initialColor) with SuperMixin

  peer.getSelectionModel().addChangeListener(new jse.ChangeListener {
    def stateChanged(e: jse.ChangeEvent) {
      publish( new ColorChangeEvent(peer.getColor))
    }
  })
}

case class ColorChangeEvent(c: Color) extends Event