/*
* Copyright (c) 1997, 2002, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
package javax.swing;
import javax.swing.event.*;
/**
* A model that supports at most one indexed selection.
*
* @author Dave Moore
*/
public interface SingleSelectionModel {
/**
* Returns the model's selection.
*
* @return the model's selection, or -1 if there is no selection
* @see #setSelectedIndex
*/
public int getSelectedIndex();
/**
* Sets the model's selected index to index.
*
* Notifies any listeners if the model changes
*
* @param index an int specifying the model selection
* @see #getSelectedIndex
* @see #addChangeListener
*/
public void setSelectedIndex(int index);
/**
* Clears the selection (to -1).
*/
public void clearSelection();
/**
* Returns true if the selection model currently has a selected value.
* @return true if a value is currently selected
*/
public boolean isSelected();
/**
* Adds listener as a listener to changes in the model.
* @param listener the ChangeListener to add
*/
void addChangeListener(ChangeListener listener);
/**
* Removes listener as a listener to changes in the model.
* @param listener the ChangeListener to remove
*/
void removeChangeListener(ChangeListener listener);
}