ClojureでJavaFXアプリケーションを作成しようとしています。簡単なテストとして、私はHello Worldを立ち上げることを試みたかったのです。 Application
を拡張するには、:gen-class
の代わりにproxy
を使用することにしました。毎回定型文を書くようにするのではなく、Application
というベアボーン関数を作成したいと思っていました。JavaFXプロキシを作成すると、UnsupportedOperationExceptionが発生する
簡単な例私が思いついたとあった:
(let [^Application app
(proxy [Application] []
(start [self stage] (println "Hello World")))]
(Application/launch ^Class (.getClass app)
(into-array String [])))
問題があり、これはUnsupportedOperationException
が発生します。
chat.graphics_tests.javafx_wrapper.proxy $ javafx.application.Applicationを開始するにUnsupportedOperationException $ ff19274a.start(:-1)
これは、start
メソッドを見つけることができないようです私が実装した帽子。私の最初の考えは、start
への議論が間違っていたということでした。彼らは正しいようだ。受け取る最初の引数は "this
"で、次にプライマリステージです。私は引数の数を試してみましたが、私はまだ同じエラーが発生します。ドキュメントによると:それは と呼ばれるべき
方法は、fnは、インターフェイスメソッドのために提供されていない場合は、 にUnsupportedOperationExceptionがスローされます。
さらにこの疑いがあります。
エラーはかなり曖昧です。誰が問題が何かを見ているのですか?
'Application/launch'には名前付きクラスが必要なので、' proxy'はここでは使用できません。私は ':gen-class'を使っていると思います。 – Carcigenicate