/***************************************************
*
* cismet GmbH, Saarbruecken, Germany
*
* ... and it just works.
*
****************************************************/
package Sirius.navigator.ui.widget;
/*******************************************************************************
Copyright (c) : EIG (Environmental Informatics Group)
http://www.htw-saarland.de/eig
Prof. Dr. Reiner Guettler
Prof. Dr. Ralf Denzer
HTWdS
Hochschule fuer Technik und Wirtschaft des Saarlandes
Goebenstr. 40
66117 Saarbruecken
Germany
Programmers : Pascal
Project : WuNDA 2
Filename :
Version : 1.0
Purpose :
Created : 01.10.1999
History :
*******************************************************************************/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/**
* LazyGlassPane ist ein GlassPane, das nicht auf Benutzereingaben reagiert. Es werden "dummy-Listener" hinzugefuegt,
* die keine Events verarbeiten.
*
* @version $Revision$, $Date$
* @see LazyPanel
*/
class LazyGlassPane extends JComponent {
//~ Instance fields --------------------------------------------------------
private boolean eventsBlocked = false;
private LazyMouseListener lazyMouseListener;
private LazyKeyListener lazyKeyListener;
// private LazyFocusListener lazyFocusListener;
//~ Constructors -----------------------------------------------------------
/**
* Dieser Konstruktor erzeugt ein neues LazyGlassPane.
*
* @param blockEvents Bei true werden die Events sofort blockiert.
*/
public LazyGlassPane(final boolean blockEvents) {
super();
lazyMouseListener = new LazyMouseListener();
lazyKeyListener = new LazyKeyListener();
// lazyFocusListener = new LazyFocusListener();
this.blockEvents(blockEvents);
}
//~ Methods ----------------------------------------------------------------
/**
* DOCUMENT ME!
*
* @param blockEvents DOCUMENT ME!
*/
public void blockEvents(final boolean blockEvents) {
if (blockEvents && !eventsBlocked) {
eventsBlocked = blockEvents;
this.addMouseListener(lazyMouseListener);
this.addKeyListener(lazyKeyListener);
// this.addFocusListener(lazyFocusListener);
this.setVisible(blockEvents);
this.requestFocus();
} else if (!blockEvents && eventsBlocked) {
eventsBlocked = blockEvents;
this.removeMouseListener(lazyMouseListener);
this.removeKeyListener(lazyKeyListener);
// this.removeFocusListener(lazyFocusListener);
this.setVisible(blockEvents);
}
}
/*public boolean hasFocus()
* { return false; }
*
* public boolean isFocusCycleRoot() { return true;}*/
// deprecated since 1.4:
/*
* public boolean isFocusTraversable() { return false; }
*
* public boolean isManagingFocus() { return true;}*/
/* public boolean isFocusable()
{
return false;
}*/
@Override
public boolean isFocusable() {
return true;
}
@Override
public boolean hasFocus() {
return true;
}
}
/**
* DOCUMENT ME!
*
* @version $Revision$, $Date$
*/
class LazyMouseListener implements MouseListener, MouseMotionListener {
//~ Constructors -----------------------------------------------------------
/**
* Creates a new LazyMouseListener object.
*/
public LazyMouseListener() {
super();
}
//~ Methods ----------------------------------------------------------------
@Override
public void mouseClicked(final MouseEvent e) {
}
@Override
public void mouseDragged(final MouseEvent e) {
}
@Override
public void mouseEntered(final MouseEvent e) {
}
@Override
public void mouseExited(final MouseEvent e) {
}
@Override
public void mousePressed(final MouseEvent e) {
}
@Override
public void mouseReleased(final MouseEvent e) {
}
@Override
public void mouseMoved(final MouseEvent e) {
}
}
/**
* DOCUMENT ME!
*
* @version $Revision$, $Date$
*/
class LazyKeyListener implements KeyListener {
//~ Constructors -----------------------------------------------------------
/**
* Creates a new LazyKeyListener object.
*/
public LazyKeyListener() {
super();
}
//~ Methods ----------------------------------------------------------------
@Override
public void keyPressed(final KeyEvent e) {
}
@Override
public void keyReleased(final KeyEvent e) {
}
@Override
public void keyTyped(final KeyEvent e) {
}
}