2016-06-23 15 views
2

私はGUIを設計していて、ClojureまたはClojurescriptで使用できる、のJVMまたはのライブラリを探したいと思っています。Clojure/ClojurescriptのGUIプログラミング

問題:

私は'ズーム可能な' 有向非巡回グラフ(DAGの)を表示する必要があります。

で具体的には、すべてのノードは、独自の内部グラフを持つことができます。絵はので、ここでインターフェイスがどのように見えるべき、そしてどのように「ズーム」の下の画面の変更何で、1000の言葉の価値があります各内側のグラフは、ノード自体と同じ数の入出力を有するという制約がある。

グラフィックスとの私の経験では、Javaに存在しないJavaScriptでと限定されている

、しかし...

私のアイデア:

  1. は単純内側すでにすべての「インナーグラフ」で全体のグラフを描きますズームレベルが十分に離れている場合、テキストのために内側のグラフをフェードアウトさせます。クリックイベントを使用して、このレベルとの間でズームを変更します。いくつかの入れ子にされた内側のグラフがあるとき、これがうまく動作するとは思わない。

  2. グラフを描き、クリックすると、背景が画面いっぱいになるようにノードをズームインし、内側のグラフをオーバーレイします。入れ子にされた内部グラフについては、同じ背景を持ち、「背景ノード」と「内部グラフ」を維持します。

オプション2は有効ですか?もしそうなら、私はこの振る舞いを達成するために変更できるライブラリ(すなわちgraphviz)がありますか?ライブラリがない場合は、どのフレームワーク(JavaFX)を使用しますか?

+0

CLJSでは、目標を達成するために[JointJS](http://www.jointjs.com/)を使用することができます。 –

+0

cljsで[d3.js](https://d3js.org)を検討してください。 – Mars

答えて

0

は、Javaの相互運用構文に苦しんで気にしないのであれば、私は非常にFXDiagramをお勧めすることができます:

選択した機能:[JavaFXのに基づい]

  • 現代グラフィック
  • わいせつな比喩
  • ユーザビリティのために最適化
  • マルチタッチジェスチャ
  • 円滑な移行/アニメーション
  • アニメーション自動レイアウトは、
  • アニメーションが
  • JSON永続
  • SVGエクスポート
  • のXtext/Eclipseの統合
  • グラフィカルコンテキストメニューをやり直すアンドゥ/(KIELERGraphvizに基づきます)
  • ...そしてはるかに多く

Xtendで書かれたオープンソースで(アクティブな)、XtextベースのDSLで表現されたモデルを簡単に統合します。

関連する問題