首页 文章

在Scala中创建GUI但没有Swing / AWT

提问于
浏览
7

我打算写一个新的应用程序,它应该有一个GUI . 当我最近浏览了一本关于Scala的书(并且变得非常窒息)时,我决定首先学习该语言,然后尝试构建该程序 .

我想知道:在没有被迫使用Swing / AWT工具包的情况下,是否有任何可靠的方法在Scala中构建GUI?我不喜欢Swing / AWT,因为它们看起来与Qt&Co . 相比还不成熟 . 遗憾的是我找不到有关在Scala中构建GUI而不依赖于它们的更多信息 .

因为我对Scala很新,并且对它不太了解,但是,我也想知道特定工具包的Java绑定是否可以在Scala中以不牺牲任何Scala的令人愉快的方式使用功能(例如模式匹配) .

还有一点需要注意:该工具包应该支持Linux和Windows,并且Look-and-Feel应该与每个平台上的本机相同 .

UPDATE: 这是我目前的工具包排名(随意评论):

  1. SWT
    本地L&F
    真正的Java解决方案
    . 还不确定性能
    . 还不确定学习和编码的简单性
  • dealloc需要释放资源
  1. Qt Jambi
    部分原生L&F
    很多可能性
    很容易学习
    . 还不确定性能
  • 围绕C工具包的包装器=>代码可能会变丑吗?
  1. Java Gnome
    . 不确定任何事情,但是 - 还有人试过吗?

似乎不存在没有积极开发的Java包装器的工具包:

  • WxWidgets

丢弃的工具包:

  • Swing / AWT:老了,我不喜欢编码
  • JavaFX:针对富Internet应用程序 - 我想要一个独立的应用程序

从头开始为Scala程序员编写的新工具包会很好但我想这不会发生,因为有可能重用基于Java的解决方案 .

3 回答

  • 0

    Scala应该能够做你在java中可以做的任何事情,所以是的,如果你有一个gui库的java绑定,它应该可以正常工作 .

    你有没有看过SWT,作为AWT / Swing的替代品?它尽可能使用本机小部件 . Eclipse是用SWT编写的 .

  • 0

    JavaFX怎么样? JavaFX 2.0预计很快就会发布 . 你可以把JavaFX写入Scala :)

  • 6

    QT-Jambi是要走的路,开箱即用,

    说明?此链接对您有用:http://www.davidlauzon.net/2010/01/getting-started-with-qt-jambi-on-linux/

    http://qt-jambi.org/downloads

    我建议使用4.6.3因为完整,测试版缺少文件

    __

    我决定首先学习这门语言,然后尝试构建该程序 .

    我不知道你是否正在寻找特定的Java解决方案,但Python是一个很好的选择,你可以选择QT(再次),wxWidgets等等......

    Python QT Specific有2个绑定,一个是PyQT,另一个是PySide,最后一个的优点是LGPL许可证,你可以通过它获利 .

    此处和此处的示例代码:http://qt-project.org/wiki/PySide_Example_Applications https://github.com/PySide/Examples

相关问题