| We have to provide our own glass pane so that it can paint.
class MyGlassPane extends JComponent {
Point point;
public void paintComponent(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
//g2.setComposite (AlphaComposite.getInstance (AlphaComposite.SRC_OVER, 0.55f));
//g2.setColor (getBackground());
// g2.setColor (calcColor);
// g2.setColor(new Color(255, 0, 0, 100));
// g2.fillRect (0, 0, getWidth(), getLastComponentYBound());
// paintChildren(g2);
if (point != null) {
g2.setComposite (AlphaComposite.getInstance (AlphaComposite.SRC_OVER, 0.60f));
g2.setColor (new java.awt.Color (25,15,2));
g2.fillRect (0, 0, getWidth(), getHeight());
g2.setColor (java.awt.Color.lightGray);
g2.drawRect (2, 2, getWidth()-4, getHeight()-4);
g2.drawRect (3, 3, getWidth()-6, getHeight() -6);
g2.setColor (java.awt.Color.yellow);
g2.setComposite (AlphaComposite.getInstance (AlphaComposite.SRC, 1.0f));
FontMetrics fm = g.getFontMetrics();
int sw = fm.stringWidth("foobar");
int sh = fm.getHeight();
int ascent = fm.getAscent();
g.drawRect(4, 4, sw + 10, sh + 10);
g.drawString("foobar", 4, 4 + ascent + 5);
//super.paint(g);
// g2.setColor(new Color(255, 0, 0, 100));
// System.out.println(getWidth());
// System.out.println(getLastComponentYBound());
// g2.fillRect (point.x, point.y, getWidth(), 10);
// //paintChildren(g2);
// //g2.fillOval(point.x - 10, point.y - 10, 30, 30);
}
}
|