10

私は多くの GUI を構築てきましたが、ライブラリに依存するのは好きではないので、基本的なことの多くを自分で行うことになります。私が何度も何度もやっていることの 1 つは、プリミティブを GUI コンポーネントにマッピングすることです。

たとえば、 の場合は2 つのオプション ( 、 )booleanをよく使用し、 の場合はを使用します。作業の多くは、テキストからテキストへの移動です...JCombobox"true""false"intJTextField

マッピングの例:

  • intまたはInteger=>JTextFieldまたはJSpinner
  • boolean=> JTextFieldJComboBoxまたはJCheckBox
  • int[]=> JList(「追加」フィールドと「削除」ボタン付き)
  • Set<Byte>=> おそらく配列と同じ

だから、質問に:

  • このようなマッピングを持つライブラリは既にありますか、それとももう一度「発明」する必要がありますか?
  • refection と SWT をフロントエンドとして使用するjfgを見てきました (swing を使用して新しいフロントエンドを実装できますが、それはまさに私が避けようとしているものです)。スイングとリフェクションを使用するsimularライブラリはありますか?
4

3 に答える 3

0

Swing をベースにした Clojure の GUI ライブラリであるseesawを見てみるのも面白いかもしれません。

これは、Swing の機能を非常に単純な関数にラップするという非常に優れた仕事をしています。直接使用することはなくても、いくつかの優れた設計アイデアがあります。たとえば、コントロールを変更可能なデータ オブジェクトに直接バインドできます。

; Bind a the value of a slider to an atom, with a transform
; that forces the value to [0, 1]
(let [s (slider :min 0 :max 1)
      a (atom 0.0)]
  (bind s (transform / 100.0) a))
于 2012-05-21T16:22:40.750 に答える