public void setAction(short i) {
		if (!getModel().getExclusiveSelection()) {
			getModel().setExclusiveSelection(true);
			clearSelection();
		}
		notifyActionStateListeners(new ActionStateEvent(this, new Short(actionID), new Short(i)));
		if (actionID != i)
			externalCursor = null;
		actionID = i;
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				setCursor(UserAction.getCursor(actionID));
				previousCursor = getCursor();
			}
		});
	}