protected void addFrameVetoListener() {
		addVetoableChangeListener(new VetoableChangeListener() {

			@Override
			public void vetoableChange(PropertyChangeEvent evt)
					throws PropertyVetoException {
				if (evt.getPropertyName().equals(
						JInternalFrame.IS_SELECTED_PROPERTY)
						&& evt.getNewValue().equals(Boolean.TRUE)) {
					if (isIcon) {
						setIcon(false);
					}
					if (hasChildFrame()) {
						childFrame.setSelected(true);
						if (childFrame.isIcon()) {
							childFrame.setIcon(false);
						}
						throw new PropertyVetoException("no!", evt);
					}
				} else if (evt.getPropertyName().equals(
						JInternalFrame.IS_ICON_PROPERTY)
						&& evt.getNewValue().equals(Boolean.TRUE)) {
					if (getParentFrame() instanceof MDIDesktopFrame) {
						((MDIDesktopFrame) getParentFrame()).setIcon(true);
					}
				}
			}
		});
	}