使用Groovy/JRuby/Jython或其他JVM语言的UI设计替代方案?

4
作为Java生态系统中的开发者,在UI设计方面有几个选择。最出名的是:
  • Swing(与Netbeans及其GUI构建器一起使用时首选)
  • Eclipse的SWT(大多数情况下用于Eclipse插件)
现在,是否有针对JRuby / Groovy / Jython或其他“动态”JVM语言的框架或设计替代品?
一些UI框架是在Swing或SWT之上的层,例如,一个框架可以读取XML中的屏幕描述,并实例化相应的Swing组件。
如果您知道类似于针对JVM“动态”语言的框架,请在答案中提供它们。
3个回答

7

虽然不是UI设计,但您可以尝试使用Griffon


2
Clojure有一些看起来很有前途的GUI库/框架: seesaw将Swing包装在非常简洁的DSL中,可以用于声明性地创建GUI界面。
(defn -main [& args]
  (invoke-later 
    (-> (frame :title "Hello", 
           :content "Hello, Seesaw",
           :on-close :exit)
     pack!
     show!)))

"Incanter"提供了相当多的图形和可视化功能(包括JFreeChart等)。虽然不是一个通用的GUI库,但如果你专注于统计数据,它非常有用。
;; show a histogram of 1000 samples from a normal distribution
(view (histogram (sample-normal 1000)))

还有一些很好的示例代码出现在将JavaFX 2.0包装在Clojure中 - 这更像是一种声明性DSL:
(defn -start [app stage]
   (eval
     (fx Stage :visible true :width 300 :height 200 :title "hello world"
         :scene (fx Scene
                  (fx BorderPane :left (fx Text "hello")
                      :right (fx Text "Right")
                      :top (fx Text "top")
                      :bottom (fx Text "Bottom")
                      :center (fx Text "In the middle!"))))))

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接