1

jList2.setListData(jList1.getSelectedValues());
これを使用して、jlist1 から jlist2 にデータを転送しました。しかし、転送されたデータを jlist1 から削除したいと考えています。なんてことも。

4

2 に答える 2

1

2つの方法があります

  • Oracleページでのドラッグドロップチュートリアルを見るには

  • mouseDraggedでselectedItemを1つのJListから削除し、秒に追加するには、このアイデアにはJavaSwingに関するより良い知識が必要であることに注意してください。

于 2012-08-02T14:52:28.830 に答える
1

最初:getSelectedValues()非推奨ですgetSelectedValuesList()。ジェネリックを使用してリストとして取得するために使用します。

次に、JList を作成する前に DefaultListModel を作成して、JList に追加/削除できるようにします。

DefaultListModel<String> model = new DefaultListModel<String>();
DefaultListModel<String> model2 = new DefaultListModel<String>();
JList<String> list1 = new JList<>(model);
JList<String> list2 = new JList<>(model2);

...

for(String s : list1.getSelectedValuesList()){
    model2.addElement(s);
    model.removeElement(s);
}

リストとモデルへの変更は、イベント ディスパッチ スレッドで実行する必要があることに注意してください。

于 2012-08-02T14:51:23.213 に答える