1

スイングを使用して Java GUI を開発する必要があります。
数年前、私はスイングで少し開発しました。
しかし、あなたを助けるためのツールがあまりなかったので、それはかなり疲れていました.

しかし、今日はもっと簡単にすべきだと信じています。ツールが必要です。
ある種のジェネレーター、あるいはユーティリティ、あるいはフレームワークさえも使用したいと思います。
Eclipse にはいくつかのプラグインがあり、Netbeans には優れた組み込みツールがあることを知っています。Jide フレームワークについても良いことを聞いています。

しかし、それでも、私はそれらのどれも本当に知りません。

ツール/ユーティリティ/ジェネレーター/フレームワークで、実際に使用して役に立ったものはありますか?

もちろん、私は無料のものを好みますが、本当に優れたものでお金がかかるものを知っていれば、それもうまくいく可能性があります.

ありがとうございました。

4

8 に答える 8

2

かなりの数年間、私は "Matisse" フォーム エディタに組み込まれた NetBeans を使用してきました。IDE に組み込まれているという利点があるため、フォームの編集とコード生成はかなりシームレスです。Swing を初めて使用する場合は、(NetBeans を IDE として使用し続ける限り) 大きな後押しになる可能性があります。

ただし、いくつかの問題があります。

  1. フォームを別の IDE に簡単に移動することはできません。生成されたコードは機能する可能性がありますが、フォーム データ自体は XML ファイルに保存されます。
  2. さらに 2 人が同時にフォームを編集すると、SVN/CVS で競合が発生し、調整がほぼ不可能になります。XML は実際には人間が読めるものではありません。
  3. 過去に、フォーム XML ファイル自体が破損していて、フォーム生成エラーが発生することがわかりました。
  4. フォーム エディターは、コントロールのサイズ変更などの単純な操作を行うと、独自の考えを持ち、配置を破壊することがあります。

上記のすべてにもかかわらず、他に魅力的なものは何もないように思えたので、私はそれを使い続けました.

于 2009-11-12T17:26:46.403 に答える
2

実際、私がこれまでに見つけた Swing フレームを作成するより速い方法は、Groovy SwingBuilderを使用することですが、それを使用するにはプロジェクト内に groovy の jar を含める必要があります。これは彼らのウェブサイトからの例です。主に構文糖衣ですが、役に立ちます。

def frame = swing.frame(title:'Frame', defaultCloseOperation:JFrame.EXIT_ON_CLOSE, pack:true, show:true) {
    vbox {
        textlabel = label("Click the button!")
        button(
            text:'Click Me',
            actionPerformed: {
                count++
                textlabel.text = "Clicked ${count} time(s)."
                println "Clicked!"
            }
        )
        widget(sharedPanel())
        widget(sharedPanel())
   }
}

それ以外の場合は、問題に対する「視覚的な」アプローチがありますが、作成したインターフェース ( jvider など)とそれほど迅速に統合することはできません。とてもシームレスに統合できます。

于 2009-11-12T17:26:57.400 に答える
2

私の提案はWindowBuilder Proです。これは、Eclipse IDE のプラグインとして提供される GUI デザイナーです。

これを使用して、Swing、SWT、または GWT GUI を生成したり、必要に応じて Eclipse RCP コードを生成したりすることもできます。私はそれが私にとって非常にうまく機能していると言わなければなりません。ただし、代わりに SWT を使用する方が好きなので、Swing コードの生成には使用していません。

于 2011-04-06T07:45:28.127 に答える
1

GUIビルダーを使用したい場合は、マティスを使用します。ジェイソンが述べたように欠点がありますが、マティスのレイアウトで使用されるjarファイルも含める必要があります。これは問題になる場合と問題にならない場合があります。

しかし、UIを急いで開発しようとしている場合は、すぐにほとんどのGUIビルダーに多くの欠点があることに気付くでしょう。何かを変更する必要がある場合、生成されたコードは必ずしも明確ではなく、肥大化しています。また、習熟すると、GUIビルダーよりもはるかに高速にUIを手動で記述できるようになり、何が起こっているのかを実際に理解できるようになります。

つまり、GUIビルダーには近づかないでください。より優れた、より保守しやすいUIを作成できます。また、ある程度の時間と経験があれば、GUIビルダーを使用したくないでしょう。レイアウトに関する基本的なSwingチュートリアルのいくつかから始めてください。

于 2009-11-12T18:46:05.353 に答える
1

謙虚に Metawidget を提案してもよろしいですか?

従来のツールキットの柔軟性を維持しながら、エラーが発生しやすい退屈な作業の多くを削除するという、UI 開発への異なるアプローチを採用しています。これは、既存のフロントエンド (あなたの場合は Swing) およびバックエンド (Java だと思います) と統合され、実行時に動作します (コード生成なし)。

ここにいくつかの短い紹介ビデオがあります:

http://metawidget.org/videos.html

ご覧になる機会がありましたら、ご感想をお寄せいただければ幸いです。

よろしく、

リチャード。

于 2010-01-29T03:30:39.410 に答える
1

GUI ビルダーに関しては、NetBeans と IDEA (現在は 9.0 Beta でオープン ソースになっています) の両方に無料の GUI ビルダーがあります。

GUI ビルダーには、Jason が話したあらゆる種類の欠点があります。何が起こっているのかを適切に制御したいが、複雑な GUI を手動で作成するのに正気なものが必要な場合は、MigLayoutを確認してください。

于 2009-11-12T17:58:17.850 に答える
1

Eclipse のVisual Swingは有望な新興企業です。これは世界で最も安定したものではありませんが、すべてのフォームをコードで実行するため、ソース管理で読み取りやマージが困難な個別のファイルはありません。初めて使うときは、慣れるまでに時間がかかります。しかし、バグを回避する方法を習得すると、Swing GUI の開発は急速に進みます。

于 2009-11-12T18:03:16.297 に答える