【发布时间】:2009-10-15 03:40:31
【问题描述】:
通过阅读《Scala 编程》一书中的部分内容,我意识到 Scala 可以与 Java Swing 组件一起使用来创建 GUI 应用程序。
我的问题是,是否有使用 Scala 和 Swing 的项目或已发布的应用程序(不仅仅是简单的示例)?
【问题讨论】:
标签: user-interface swing scala
通过阅读《Scala 编程》一书中的部分内容,我意识到 Scala 可以与 Java Swing 组件一起使用来创建 GUI 应用程序。
我的问题是,是否有使用 Scala 和 Swing 的项目或已发布的应用程序(不仅仅是简单的示例)?
【问题讨论】:
标签: user-interface swing scala
这是因为您希望看到一些实际的 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 的文档很差。我了解 Scala Swing 正在 2.8 版本中进行升级,这将包括改进的文档。
【讨论】:
镜屋
我在 Scala 中写过this game。它是开源的,通过 Java 和 Scala 库接口使用 Swing。
Scala API 非常适合使用,如 oxbox_lakes 所示。我必须仅将 Java 接口用于特定的低级控制,例如自定义 Alpha 合成。
在 Scala-swing 库变得稳定之前,该游戏基于 Scala-Squib,但该项目已暂停 AFAIK。
【讨论】:
我最近参加了一个关于 Scala 的演讲,其中一个演示产品是一个 Scala-Swing Twitter 客户端。它是开源的,项目是TalkingPuffin。对于 Swing 项目,UI 看起来很漂亮,我相信该项目正在寻找贡献者。
【讨论】: