在斯卡拉秋千的树

Mr_*_*Qqn 7 swing scala jtree

我想在我的Scala swing应用程序中使用一个树,但该组件在API中不可用.

是否JTree存在包装?

如果没有,你有任何建议吗?

谢谢

Von*_*onC 9

即使您可以直接在scala程序中使用Java JTree,如此线程所示,但是存在关于包含JTree的Scala包装器的争论.

以下常见用法繁琐,冗长,非类型安全,和/或需要不安全的null用法:

  • 创建一个由您自己的用户对象支持的自定义树模型 - Scala Swing方法是Map在其后面有一个标准的类型安全
  • 事件-有树木创建的事件堆- TreeWillExpandListeners,TreeSelection等等-使用堆/出版商PartialFunction模式将使这个代码更具可读性和简洁.
  • 可编辑的组件 - 这是使用scala.swing中其他位置的隐式值完成的,也应该在这里.
  • 自定义渲染器 - 不记得Scala如何处理这些渲染器,但这在Java Swing中也总是很繁琐.

最重要的是,JTrees在Java中使用是一个巨大的痛苦,没有特别好的理由.对于Scala Swing用户来说,Scala包装器将是一个巨大的福音.

一个设计正在进行中,并且JTree的包装建议,请在此GitHub库,通过由kenbot(肯Scambler) .