package org.openflexo.swing;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import javax.swing.JComponent;
import javax.swing.JPanel;
import javax.swing.KeyStroke;
import javax.swing.SwingUtilities;
public class GlassPaneWrapper extends JPanel {
public GlassPaneWrapper(JComponent wrappedComponent) {
super(new BorderLayout());
super.addImpl(wrappedComponent, BorderLayout.CENTER, 0);
}
@Override
public boolean contains(int x, int y) {
return false;
}
@Override
protected boolean processKeyBinding(KeyStroke ks, KeyEvent e, int condition, boolean pressed) {
return false;
}
@Override
public void addNotify() {
super.addNotify();
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
repaint();
}
});
}
@Override
protected void addImpl(Component comp, Object constraints, int index) {
}
@Override
public void paint(Graphics g) {
super.paint(g);
g.setColor(new Color(240, 240, 240, 128));
g.fillRect(0, 0, getWidth(), getHeight());
}
}