プロジェクトにピックリストを実装しました。
このビューのロジックを自分の行動に合わせて変更しようとしました。SourceList をそのままにして、指定された itemScope がまだ targetList にない場合にのみ targetList を変更したいと考えています。
私のアプローチ:
public void onTransfer(TransferEvent event) {
// wenn wir eine Sprache aktivieren möchten, sollte die sprache nicht
// aus der source entfernt werden
if (event.isAdd()) {
List<String> itemsInScope = (List<String>) event.getItems();
itemsInScope.addAll(languages.getSource());
languages.setSource(itemsInScope);
for(String s : languages.getSource())
System.out.println(s);
}
settingsObject.setActiveLanguages(languages.getTarget());
settingsObject.setSupportedLanguages(languages.getSource());
TranslationConfig conf1 = new TranslationConfigManager().getSettings();
conf1.setActiveLanguages(languages.getTarget());
conf1.setSupportedLanguages(languages.getSource());
new TranslationConfigManager().updateSetting(conf1);
}
これは、正しい埋められたリストを返すため、DualList で論理的に機能しますが、ちょっとした回避策であり、汚れています。ここでの問題は、ビュー内のアイテムがまだ削除されていることです。
私のアプローチは可能ですか?