【问题标题】:Tree in scala swing斯卡拉秋千中的树
【发布时间】:2010-10-29 15:00:50
【问题描述】:

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

JTree 的包装是否存在?

如果没有,你对制作它有什么建议吗?

谢谢

【问题讨论】:

    标签: swing scala jtree


    【解决方案1】:

    即使您可以在 scala 程序中直接使用 Java JTree,如 this thread 所示,关于是否包含 JTree 的 Scala 包装器仍然存在争议。

    以下常见用法乏味、冗长、非类型安全和/或需要不安全的 null 用法:

    • 创建由您自己的用户对象支持的自定义树模型 - Scala Swing 方法是在其后面添加一个标准类型安全 Map
    • 事件 - 有大量由树创建的事件 -- TreeWillExpandListenersTreeSelection 等 -- 使用 Reactor/Publisher PartialFunction 模型将使这段代码更具可读性和简洁性。
    • 可编辑组件——这是通过 scala.swing 中其他地方的隐式值完成的,也应该在这里。
    • 自定义渲染器 -- 不记得 Scala 是如何处理这些的,但这在 Java Swing 中也总是很复杂。

    底线是,JTrees 在 Java 中使用起来非常痛苦,没有什么特别好的理由。 Scala 包装器对于 Scala Swing 用户来说将是一个巨大的福音。

    design is in progressJTree wrapper proposal is available in this GitHub repo,由 kenbot (Ken Scambler) 制作。

    【讨论】:

      猜你喜欢
      • 2011-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-16
      • 2016-01-31
      相关资源
      最近更新 更多