2012-11-22 69 views
0

我在這裏有一個小的Scala控制檯應用程序,它的工作正常。我現在只有一個麻煩:應該擴展這個應用程序。其中一個要求是,應該有一個GUI(AWT,SWT,Swig - 無所謂,它只需要在Windows上運行)。使用WindowBuilder + Scala,有什麼好主意?

嗯,我真的不想寫我自己的圖形用戶界面。我喜歡WindowBuilder之類的工具。我可以結合這種有效的?如果我用編輯器創建GUI,那麼我會生成Java代碼嗎?這可能是一個問題嗎?我只需創建一個Mixin-Project,構建GUI併爲每個GUI元素(Button或任何帶有監聽器的)分配一個Scala函數。所以我不必重寫任何scala的東西,只是指向這個函數。這是如何工作的?有什麼建議麼?謝謝

編輯:對我來說在scala應用程序中生成java代碼看起來很骯髒,但我也發現沒有其他解決方案。

+0

我不是Scala的專家,但據我所知,你可以從Scala調用Java代碼而沒有任何問題。所以你可以從主Scala應用程序調用你的Java GUI。唯一稍微棘手的部分可能是從GUI接收事件(Java代碼調用Scala代碼)。我會想象你定義一個回調作爲Java接口,你可以在Scala中實現並從Java調用(參見例如http://stackoverflow.com/questions/2349241/can-i-use-a-scala-class-which -implements-A-java的接口從-java的)。 – Giorgio

+1

我不認爲這是一個骯髒的解決方案:AFAIK Scala旨在與Java兼容。我會避免在同一個包中混合使用Java和Scala代碼:我會清楚地將兩者分開。 – Giorgio

回答

1

我已經完成了好幾次,看到在一個項目中混合Java和Scala代碼沒有問題。

爲了讓Scala編譯器更簡單,不要將Java和Scala類放到同一個包中。

相關問題