2010-10-29 19 views
7

Chcę użyć drzewa w mojej aplikacji swing Scala, ale składnik nie jest dostępny w API.Drzewo w scala huśtawka

Czy istnieje opakowanie o numerze JTree?

Jeśli nie, czy masz jakąś radę na robienie tego?

Dzięki

Odpowiedz

9

Chociaż można użyć bezpośrednio Java JTree w programie Scala, co ilustruje this thread, jest debata o tym owijkę Scala o JTree.

następujące wspólne zwyczaje są żmudne, gadatliwy, non-type bezpieczny i/lub wymagają użycia niebezpiecznego zerowy:

  • tworzenia modelu zwyczaj drzewo, wspierany przez własnych obiektów użytkowników - Scala Swing sposobem byłoby mieć standardowy typesafe Map za nim
  • wydarzenia - istnieje mnóstwo wydarzeń utworzonych przez drzewa - TreeWillExpandListeners, TreeSelection itp - Korzystanie reaktora/Publisher PartialFunction modelu uczyniłoby ten kod znacznie bardziej czytelne i zwięzły.
  • Edytowalne komponenty - Jest to robione z ukrytymi wartościami gdziekolwiek indziej w scala.swing, i powinno być tutaj.
  • Niestandardowe renderers - Nie pamiętam, jak Scala radzi sobie z tymi, ale to zawsze jest fiddly w Java Swing też.

Podsumowując, JTrees to ogromny ból, którego można użyć w Javie, bez szczególnego powodu. Opakowanie Scala byłoby ogromnym dobrodziejstwem dla użytkowników Scala Swing.

design is in progress i JTree wrapper proposal is available in this GitHub repo, przez kenbot (Ken Scambler).