org.jdesktop.swingx.combobox.ListModelComboBoxWrapper Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of swingx-all Show documentation
Show all versions of swingx-all Show documentation
A Maven project to aggregate all modules into a single artifact.
package org.jdesktop.swingx.combobox;
import javax.swing.AbstractListModel;
import javax.swing.ComboBoxModel;
import javax.swing.ListModel;
import javax.swing.event.ListDataListener;
public class ListModelComboBoxWrapper extends AbstractListModel implements ComboBoxModel {
private ListModel delegate;
private Object selectedItem;
public ListModelComboBoxWrapper(ListModel delegate) {
this.delegate = delegate;
}
@Override
public int getSize() {
return delegate.getSize();
}
@Override
public Object getElementAt(int index) {
return delegate.getElementAt(index);
}
@Override
public void addListDataListener(ListDataListener l) {
super.addListDataListener(l);
delegate.addListDataListener(l);
}
@Override
public void removeListDataListener(ListDataListener l) {
delegate.removeListDataListener(l);
super.removeListDataListener(l);
}
@Override
public void setSelectedItem(Object anItem) {
if ((selectedItem != null && !selectedItem.equals(anItem))
|| selectedItem == null && anItem != null) {
selectedItem = anItem;
fireContentsChanged(this, -1, -1);
}
}
@Override
public Object getSelectedItem() {
return selectedItem;
}
}