Scala和Swing GUI应用程序

Zac*_*ryP 25 user-interface swing scala

通过阅读Scala编程书中的部分内容,我意识到Scala可以使用Java Swing组件来创建GUI应用程序.

我的问题是,是否有任何使用Scala和Swing的项目或已发布的应用程序(不仅仅是简单的示例)?

oxb*_*kes 34

这是因为您希望看到一些实际的Scala Swing代码,或者您是否只对Scala Swing是否"生产就绪"感兴趣?如果是后者,Scala Swing非常好:我已经开始将它用于所有GUI代码.相比:

JButton b = new JButton();
b.setText("OK");
b.setFont(f);
b.setPreferredSize(new Dimension(20, 20));
b.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
      //reacction here
    }
});
Run Code Online (Sandbox Code Playgroud)

有:

val b = new Button {
  text = "OK"
  font = f
  preferredSize = (20, 20)
}
listenTo(b)
reactions += {
  case ButtonClicked(`b`) => //reaction here
}
Run Code Online (Sandbox Code Playgroud)

由于Scala Swing实际上只是Java Swing上的一个轻量级层,因此您可以轻松地集成任何Java Swing组件,并确保它一切正常.

也就是说,Scala 2.7的文档很差.据我所知,Scala Swing正在2.8版本中进行升级,这将包括改进的文档.


HRJ*_*HRJ 11

镜子之家

我在斯卡拉写过这个游戏.它是开源的,并通过Java和Scala库接口使用Swing.

Scala API很适合用作图示的oxbox_lakes.我不得不将Java接口仅用于特定的低级别控制,例如自定义alpha合成.

在Scala-swing库变得稳定之前,该游戏基于Scala-Squib,但该项目暂停了AFAIK.


Bos*_*one 7

在Google代码中有Scalide,然后Scala本身就有Swing