【问题标题】:Scala and Swing GUI applicationsScala 和 Swing GUI 应用程序
【发布时间】:2009-10-15 03:40:31
【问题描述】:

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

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

【问题讨论】:

    标签: user-interface swing scala


    【解决方案1】:

    这是因为您希望看到一些实际的 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 比它的 Java 等价物更容易阅读。谢谢。
    【解决方案2】:

    镜屋

    我在 Scala 中写过this game。它是开源的,通过 Java 和 Scala 库接口使用 Swing。

    Scala API 非常适合使用,如 oxbox_lakes 所示。我必须仅将 Java 接口用于特定的低级控制,例如自定义 Alpha 合成。

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        我最近参加了一个关于 Scala 的演讲,其中一个演示产品是一个 Scala-Swing Twitter 客户端。它是开源的,项目是TalkingPuffin。对于 Swing 项目,UI 看起来很漂亮,我相信该项目正在寻找贡献者。

        【讨论】:

        • 这看起来像是一个很好的 Scala Swing 代码示例。遗憾的是,该应用程序现在无法使用,因为它在“OAuthocalypse”之前几个月就没有承诺过。
        • 截至今天,提交似乎相当活跃
        猜你喜欢
        • 2014-11-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-11
        • 2018-03-28
        • 2016-01-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多