3

私は現在、非常に大量のデータを表示する必要がある小さな個人的なプロジェクトを行っています。突然、ユーザーが大量のデータをナビゲートできるように、ズーム可能なユーザー インターフェイスのフォームを実装することを考えました。

ZVTMPiccolo2dなどの既存のプロジェクトを知っており、これらを最終的に仕事に使用することになるでしょうが、自分自身のプロジェクトを書き始めたいという衝動にも駆られます。とはいえ、どうやって始めたらいいのか、ちょっと不安です。

私が読んでいる限りでは、Piccolo2d のようなプロジェクトは、Java 内の「シーン グラフ」管理の欠如が原因で開発されたようであり、Piccolo2d は、「Pad」、「Pad++」などの古いプロジェクトの作業に基づいて開発されました。 'ジャズ'。

少しグーグルで調べてみると、JavaFX でシーン グラフ管理が利用できることがわかりましたが、Java 7 の Swing にこの機能があるかどうか疑問に思っています。

JLayerAPI を使用して基本的なズーム インターフェイスを実装し、基本的に現在のズーム レベルに応じて異なるレイヤーでオブジェクトを装飾することが可能かどうか疑問に思っています。

例として、ディレクトリを最もズーム レベルで表示できるとします。ズーム インするとディレクトリの内容が表示され、さらにズーム インすると、そのディレクトリに存在するファイル内のテキストが表示されます。私はイーグル モードをしばらくいじっているので、これは私が考えていることの完璧な例です。

これが少し長い質問であることは承知しています(本当に質問である場合)。基本的に、ピッコロらが存在しないふりをしましょう。私が持っているのはJava 7 JDKのコアだけです。誰かが良い出発点を提案できますか?

Piccolo2d は Java2d API に大きく基づいているようです。そのため、API が進歩したのか、それとも Java 7 で同様の効果を達成するための新しいメカニズムが導入されたのか疑問に思っています。

提供できる情報やアドバイスに興味があります。これが簡単な作業ではないことはわかっていますが、時間制限はありません。これは個人的なプロジェクトです。

ありがとう

4

1 に答える 1

6

私が持っているのはコアJava 7 JDKだけです。誰かが良い出発点を提案できますか?

JavaFXの使用をお勧めします。

  1. JavaFX は、コアの Oracle Java 7 (および Java 8) JDK およびランタイムに含まれています。
  2. JavaFX アーキテクチャには、包括的なシーン グラフが含まれています。
  3. JavaFX には、スケーリング、変換、レイヤー化、アニメーション化、トランジションなどのシーン グラフ変換のための機能が組み込まれています。
  4. JavaFX は、ハードウェア アクセラレーションによるレンダリングを実行します。
  5. H.264 などの最新のコーデックを使用して、スケーラブルなビデオ再生を実現します。
  6. JavaFX には、ズームインおよびズームアウトすると見栄えの良い包括的なベクター ベースのコントロール セットが含まれています。
  7. Retina ディスプレイなどの HiDPI サポートが含まれています (Java 8)。
  8. JavaFX シーン グラフ内でのハードウェア アクセラレーションによる 3D オブジェクト モデルのレンダリング (Java 8)。
  9. FXML を使用して宣言的に UI を定義し、 SceneBuilderを使用して対話的に UI を定義できます- 副次的な問題ですが、開発が容易になる可能性があります。
  10. JavaFX プロジェクトはオープンソースであり、活発に開発されています。
  11. JPedal は、スケーラブルな PDF ドキュメントを表示するために使用できるJavaFX 用のサードパーティの PDF ビューアを提供します。
  12. JavaFX には HTML ビューアが含まれています (Java 8 のズーム機能を備えています)。

実装に関する考慮事項

私の推測 (これは純粋に私の意見です) は、この特定のプロジェクトを JavaFX で実装する方が、バニラ Swing で実装するよりもはるかに簡単になるだろうということです。これは、基盤となる JavaFX テクノロジと機能が要件により厳密に一致するためです。

明らかに、どのテクノロジを選択したとしても、Eagle Mode のような包括的なものを実装することは依然として多くの作業を必要とし、(仮想デスクトップなどを表示するために) Java システムの外部のネイティブ拡張が必要になります。

JavaFX の推奨事項は、「私が持っているのはコア Java 7 JDK だけです」という観点からのものです。ZVTMなどのシステムには、(私の知る限り) JavaFX アプリケーションにはまだ含まれていない ZUI 構築用のサポート機能と API があります (たとえば、レンズ ビュー、ポータル ビュー、大規模なマルチスクリーン アレイへの UI のマッピングなど)。ZVTM などのビルド済みライブラリを柔軟に使用できる場合は、プロジェクトの要件に対して真剣に評価する必要があります。

範囲の推奨事項

プロジェクトをより管理しやすくするには、初期実装要件を、完全に機能する ZUI デスクトップ UI ではなく、ZUI ベースのファイルシステム ビューアーに制限します。

JavaFX ZUI サンプル

  • greziプロジェクトは、JavaFX の GroovyFX ラッパーに基づく ZUI プレゼンテーション システムです
  • mihosoftの vworkflows は、JavaFX シーン グラフの上に ZUI 対応のウィンドウ システムを提供します。
  • ScrollPane 内の JavaFX ノードのズーム

プロジェクトの成功を祈っています。. .

于 2013-08-15T19:36:47.633 に答える