All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.schlichtherle.truezip.swing.PanelEvent Maven / Gradle / Ivy

/*
 * Copyright (C) 2005-2013 Schlichtherle IT Services.
 * All rights reserved. Use is subject to license terms.
 */
package de.schlichtherle.truezip.swing;

import java.awt.AWTEvent;

/**
 * Fired when the ancestor window of an {@link EnhancedPanel} is shown or
 * hidden.
 * 

* Note that since TrueZIP 6.1, this class has been refactored to subclass * {@link AWTEvent} (which subclasses {@link java.util.EventObject}) instead * of {@code EventObject} directly. * This has been done in order to allow coalescing multiple events for the * same cause by posting them to the AWT's Event Queue, from which the * coalesced event would then be dispatched by AWT's Event Dispatching Thread. *

* However, since TrueZIP 6.4, these events are fired synchronously * again, whereby it is ensured that only a single event is fired for each * cause. The super class is kept for backwards compatibility only. * * @author Christian Schlichtherle */ public class PanelEvent extends AWTEvent { private static final long serialVersionUID = -7614118389065035365L; /** The id for Ancestor Window Shown Event. */ public static final int ANCESTOR_WINDOW_SHOWN = RESERVED_ID_MAX + 1; /** The id for Ancestor Window Hidden Event. */ public static final int ANCESTOR_WINDOW_HIDDEN = RESERVED_ID_MAX + 2; public PanelEvent(EnhancedPanel source, int id) { super(source, id); switch (id) { case ANCESTOR_WINDOW_SHOWN: case ANCESTOR_WINDOW_HIDDEN: break; default: throw new IllegalArgumentException(); } } /** * {@inheritDoc} *

* The implementation in {@link PanelEvent} always returns non-{@code null}. */ @Override public EnhancedPanel getSource() { return (EnhancedPanel) source; } /** * {@inheritDoc} *

* @throws ClassCastException If {@code source} is not an instance of * {@link EnhancedPanel}. */ @Override public void setSource(Object source) { if (null == source) throw new NullPointerException(); super.setSource((EnhancedPanel) source); } @Override public String paramString() { switch (id) { case ANCESTOR_WINDOW_SHOWN: return "id=ANCESTOR_WINDOW_SHOWN"; case ANCESTOR_WINDOW_HIDDEN: return "id=ANCESTOR_WINDOW_HIDDEN"; default: throw new AssertionError(); } } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy