1

さまざまなアンプを使用して、エレクトリック ギターから既に録音されている入力オーディオ信号を表示しようとしています。Javaで表示するアルゴリズムを探しています。

現在、AWT と Swing ライブラリを検討していますが、これをグラフィック表示するのと視覚的に表示するのとでは、どちらが適しているのでしょうか?

4

4 に答える 4

2

JavaFxの使用を許可されますか?私が尋ねる理由は、JavaFx 2.0には、この種のマルチメディアタスク用に特別に設計された優れたAPIがいくつかあるからです。これは確かにswingまたはawtで実行できますが、自分に優しくしてみませんか?ここで深く掘り下げる時間やスペースはありませんが、Apressによる「Introductionto Javafx2.0byExample」または「ProJavaFx2.0」のいずれかをお勧めします。私は2番目がより良く、より包括的だと思います。どちらにも、今説明したことをほぼ実行するサンプルコードがあると思います。

幸運を!!

于 2012-09-03T04:03:49.310 に答える
2

これには、AWT ではなく Swing を使用します。どちらでも実行できますが、Swing の方が最新であり、AWT API にはないコンポーネント ( JTreeJTable..) と機能 (ダブルバッファリング組み込み、キーバインディング、PLAF、リッチテキストのサポート) をサポートしています。

Swing を使用するもう 1 つの利点は、さらに質問する必要がある段階にあるように見えることです。Java SE を使用して GUI をプログラミングするほとんどの人は、AWT コンポーネントを使用したことがなく、残りのほとんどの人はその方法をほとんど忘れています。(現時点では、JavaFX よりも Swing を支援できる人の方がはるかに多いです。)

AWTCanvasでは波形の描画に を使用できますが、Swing では次のいずれかを使用します。

  • ペイントする場所 (または場合によっては ) をオーバーライドしJPanelますJComponentpaintComponent(Graphics)
  • でのBufferedImage表示JLabel

最初のテクニックの例は DrewTubeish で見ることができます - ここはLeftover Wineです。

于 2012-09-03T04:12:55.440 に答える
1

波形の描画や編集など、Audio の主要なプロジェクトで AWT、Swing、JavaFX を使用してきました。ここに私の考えがあります:

  • AWT は開発も教育もされていません。まだそれを扱っている開発者を私は知りません。私はそれを使用しません。
  • JavaFX は災害です。2010 年に、私は最大の JavaFX コードベースに取り組んでいましたが、swing のためにそれを削除しました。良くなったと確信していますが、大規模なプロジェクトを処理できると言う人はまだ聞いていません。プロジェクトが小さい場合は、JavaFX が適しているかもしれません。または、そう強く感じている場合は、さらに調査を行う必要があるかもしれません。私の経験について詳しくは、http: //blog.bjornroche.com/2010/03/java-nofx-why-one-project-dropped.htmlをご覧ください。
  • Swing には問題があり、多くの批判を受けるに値しますが、自分が何をしているのかを知っていれば、素晴らしいものになる可能性があります。私はそれを使っていくつかの素晴らしいUIを開発しました(それらはデザインとまったく同じように見えました)。Swing は AWT の上に書かれているため、遅くなると思うかもしれませんが、実際には多くの最適化により、ほとんどのプラットフォームで非常に高速になります。私の理解が正しければ、CodenameOne は swing のようなインターフェイスを使用しているので、私の本では、swing にもう 1 票です: http://www.codenameone.com/
  • SWT は別のオプションです。http://www.eclipse.org/swt/私はそれを使用したことはありませんが、それを使用して独自のメモリ管理を行う必要があることは理解しています。これにより、IMO は、Java を使用する利点の多くを奪います。何度も言いますが、使ったことがないので間違っているかもしれません。Eclipse のネイティブ ツールキットです。
于 2012-09-04T02:47:40.383 に答える
1

JFreeChartさまざまな適切なチャートが含まれています。ここに時間領域の例があります。これは、周波数領域を表示するようにKineticModel拡張JLabelおよび実装されています。どちらもSwing を必要としませんが、どちらも Swing コンテキストでうまく機能します。IconHistogram

于 2012-09-03T15:45:54.297 に答える