我在阅读《Scala编程》这本书的部分内容时,了解到Scala可以与Java Swing组件一起使用来创建GUI应用程序。
我的问题是是否有任何使用Scala和Swing的项目或发布的应用程序(不仅仅是简单的示例)?
我在阅读《Scala编程》这本书的部分内容时,了解到Scala可以与Java Swing组件一起使用来创建GUI应用程序。
我的问题是是否有任何使用Scala和Swing的项目或发布的应用程序(不仅仅是简单的示例)?
您是想查看一些实际的 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
}
});
使用:
val b = new Button {
text = "OK"
font = f
preferredSize = (20, 20)
}
listenTo(b)
reactions += {
case ButtonClicked(`b`) => //reaction here
}
由于Scala Swing实际上只是Java Swing的轻量级层,因此您可以轻松地集成任何Java Swing组件,并确保一切正常运行。
尽管如此,截至Scala 2.7版本,文档相当贫乏。我了解到在2.8版本中,Scala Swing正在升级,并将包括改进的文档。
镜屋
我用Scala编写了这个游戏。它是开源的,并通过Java和Scala库接口使用Swing。
正如oxbox_lakes所证明的那样,Scala API很好用。我只需要在特定的低级控制(例如自定义alpha组合)时才使用Java接口。
在Scala-swing库变得稳定之前,该游戏基于Scala-Squib,但据我所知,该项目已经暂停了。
最近我参加了一场关于Scala的讲座,其中展示的一个产品是一个Scala-Swing版的Twitter客户端。它是开源的,项目网站是TalkingPuffin。对于一个Swing项目来说,它的用户界面看起来相当不错,我相信该项目正在寻找贡献者。