0

たとえば、jlistを作成し、Stringを使用して文字列に格納されている値を複製してJtextfieldに表示する場合、複数の文字列行コードを表すにはどうすればよいですか?別の文字列行を作成して、別のJtextfieldで映画の価格を表示できます。たとえば、jList値が選択されます。Jlistでコンポーネントを選択すると、Jtextfieldにコンポーネントが表示され、別のjTextfieldに価格が表示されますか?

    jList99.setModel(new AbstractListModel() {

        String[] strings = {"mouse,keyboard"};
        public int getSize() { return strings.length; }
        public Object getElementAt(int i) { return strings[i]; }
    });
    jList99.addListSelectionListener(new ListSelectionListener() {
        public void valueChanged(ListSelectionEvent evt) {
            jList1ValueChanged(evt);        
        }
    });


private void jList1ValueChanged(ListSelectionEvent evt) {     

     if(!jList99.getValueIsAdjusting())
     { 
          jTextField9.setText((String) jList99.getSelectedValue());
     }
}
4

1 に答える 1

2

JList に単純な String オブジェクトを含める必要はありません。次のようなカスタム オブジェクトを使用して、目標を達成できます。

class MovieInfo {
    private String name;
    private String price;

    // insert appropriate getters and setters here

    public String toString() {
        return name + " " + price;
    }
}

これらのオブジェクトは JList に toString 値を表示しますが、(MovieInfo)getSelectedValue() を呼び出すと、名前と価格に直接アクセスできます。

于 2013-02-24T21:15:59.047 に答える