private void whenMousePressed(MouseEvent e) {
		if (!isEnabled())
			return;
		if (levelViewList == null)
			return;
		requestFocusInWindow();
		int x = e.getX();
		int y = e.getY();
		selectedElectronView = null;
		synchronized (levelViewList) {
			for (EnergyLevelView levelView : levelViewList) {
				if ((selectedElectronView = levelView.whichElectron(x, y)) != null) {
					break;
				}
			}
		}
		selectedLevelView = null;
		if (selectedElectronView == null && !lockEnergyLevels) {
			synchronized (levelViewList) {
				for (EnergyLevelView levelView : levelViewList) {
					if (levelView.contains(x, y)) {
						selectedLevelView = levelView;
						oldY = levelView.getY();
						oldValue = levelView.getModel().getEnergy();
						break;
					}
				}
			}
		}
		repaint();
	}