2016-06-18 57 views
2

如何從Clojure導入位於另一個Java類內的Java類?從Clojure在Java class中導入Java類

我試圖導入的類是位於LibGDX庫中的Pixmap.Format。由於play-clj處理與LibGDX for Clojure的集成,從LibGDX本身實際導入類實際上沒有任何問題。問題在於導入位於Pixmap類中的Format類。

我已經嘗試了幾個不同的事情:

; This I have tried 
(ns pfft.test 
    (:import com.badlogic.gdx.graphics Pixmap.Format)) 

; And this 
(ns pfft.test 
    (:import com.badlogic.gdx.graphics Pixmap/Format)) 

; This 
(ns pfft.test 
    (:import com.badlogic.gdx.graphics.Pixmap.Format)) 

我也試圖調用類是這樣的:

(Pixmap/Format/RGBA8888) 

但Clojure的告訴我,有沒有這樣的領域,其中有明確是。

這也不起作用:

((Pixmap/Format)/RGBA8888) 

由於...

/RGBA8888 

...是根本無法識別。

回答

5

你要找的分隔符是$,因此你可以導入嵌套類是這樣的:

(import com.badlogic.gdx.graphics.Pixmap$Format) 

或者這樣:

(import (com.badlogic.gdx.graphics Pixmap$Format)) 

然後你就可以訪問靜態字段Pixmap$Format是這樣的:

Pixmap$Format/RGBA8888 

有關更多信息,請參閱this Stack Overflow questionthis part of the Clojure docs