5

私はJavaの知識を一新しようとしていて、小さなGUIプログラムを作成していて、少し問題が発生しています。

基本的に、私は現在、クラスを呼び出すことができるJList実装するクラスの1つからのオブジェクトからの文字列を入力しているものを持っています。これには、を実装するタイプのオブジェクトが含まれています。AbstractListModelItemListArrayListItemSerializable

しかし、私がやりたいのは、文字列の束を入力するのではなく、JListある種の文字列とJTextField組み合わせを入力して、各Itemオブジェクトの1つのプロパティを表示しながら、別のプロパティを更新できるようにすることです。を変更することによってJTextField

今、私が探しているのは、これを行うための最も簡単な方法です。これは、GUIアプリケーションで実行するのが非常に一般的であるため、(比較的)簡単な方法があると思います(ただし、複雑で複雑にするために、JavaとSwingを超えてはいけません)。

それで、これを行う正しい方法は何ですか?

4

1 に答える 1

10

Stringオブジェクトを使用する必要はありません。その代わり:

  • Itemオブジェクトを に入れますJList
  • オブジェクトを最もユーザーフレンドリーな方法でListCellRenderer表示するには、リストに a を追加します。Item
  • ユーザーが項目を選択すると、詳細が別の場所に表示されます (2 列のラベルとテキスト フィールド、および 2 つの行 (属性ごとに 1 つ、おそらくボタンSave) を持つパネルを考えています) 。

編集コントロールは、パネルにカプセル化して、不要な場合は非表示にして、さまざまな場所に配置するのが最適です。

  • リストの下
  • GUI のメイン部分
  • JOptionPaneまたは (モーダルかどうか)で表示JDialog

これは、「表示/編集パネル」(ファイルの詳細) を選択コンポーネント (テーブル) の下に配置する例です。

于 2012-07-29T01:08:06.130 に答える