【问题标题】:Instantiating JavaFX classes in Clojure: SingleSelectionModel在 Clojure 中实例化 JavaFX 类:SingleSelectionModel
【发布时间】:2013-07-29 06:19:20
【问题描述】:

我正在尝试在 clojure 中实例化 SingleSelectionModel,基于“Pro JavaFX 2”一书,他们在其中做了“牛铃”示例。

从 repl 中,适当导入库后:

(SingleSelectionModel.)
InstantiationError javafx.scene.control.SingleSelectionModel  cowbell.AudioModel/eval16031 (NO_SOURCE_FILE:1)

这是 API 文档中显示的唯一构造函数;我找不到这个错误的含义。

有什么方法可以让它工作吗?谷歌上没有提到这个,除了源代码对我来说太深了,没有任何意义。

谢谢

【问题讨论】:

  • cowbell 包/命名空间在哪里?
  • 在 ...cowbell\src\clojure\cowbell\core.clj:(ns cowbell.core...) 在 ...cowbell\src\clojure\cowbell\AudioModel.clj:(ns cowbell.AudioModel...)。我的 project.clj 有 :source-paths ["src/clojure"]:java-source-paths ["src/java"],但对于这个例子,我试图完全避免 Java 并在 Clojure 中完成所有工作,这就是我试图直接实例化 SingleSelectionModel 的原因。
  • 您能否展示导致此错误的整个 REPL 会话?

标签: clojure javafx


【解决方案1】:

原来 SingleSelectionModel 是一个抽象类,所以它不能被实例化。我尝试直接在 Java 中实例化它并得到了类似的错误。但是文档仍然定义了一个构造函数,所以我有点困惑。

【讨论】:

  • 啊,有道理。抽象类有构造函数供其实现者从它们的构造函数中调用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-29
  • 2021-10-15
  • 1970-01-01
  • 2014-05-15
  • 1970-01-01
相关资源
最近更新 更多