2016-03-21 18 views
1

私は4つのクラスがあるメニューを作成しました。私はさまざまな要素を含む各コースの食事のJlistを作成しました。どのように私はこれらの選択された項目をJlistを含んでいる別のクラスの別のJlistに表示するのか知っていますか?選択した要素をあるJlistから別のJlistに移動するには

+0

違うクラスはどういう意味ですか? – Charlie

+0

2番目の更新されたdlmを2番目の 'JList'に設定していますか? – Jonah

+0

あなたが 'dessertList = new JList(dlm);と言うとき、dlmを' JList'にバインドしていますが、 'JList'と同じ' JList'で '.setModel(dlm)'を呼び出しています。 – Jonah

答えて

1

あなたはDLMを作成し、それが他のDLMの間の内容だ共有することができDefault List Models

を見てみる必要があります。あなたはその後、DLMに、デフォルトの要素を追加し、他にそのDLMを割り当て、あなたの他のクラスで関数を作成することができ

DefaultListModel dlm = new DefaultListModel(); 
JList list1 = new JList(dlm); 

あなたの最初のクラスでこのような何かを追加することによって、それをやって行くために始めることができ JList

public static void setDLM(DefaultListModel dlm) 
{ 
    list2.setModel(dlm); 
} 

あなたは、静的インポートsetDLM()方法べきであり、あなたのボタンで次のコマンドを実行しActionListener

DefaultListModel<String> dlm2 = new DefaultListModel<>(); 

for(String item : list1.getSelectedValuesList()) 
{ 
    dlm2.addElement(item); 
} 

setDLM(dlm2); 
+1

または 'add(int、E)'と同じことをしますが、コードが少ない( 'i 'にあったものを上書きしないで) – MadProgrammer

+0

@MadProgrammer、はい、私の元の解決策は、元のdlmを選択した値で書き換えることでしたが、2 dlmsが良いと判断しました – Jonah

+0

はい、2つのモデル(2つの 'JList')が必要ですが、元の値) – MadProgrammer

関連する問題