Ventana de selección interior-transparente en Java usando GlassPane

Estoy tratando de lograr lo siguiente

http://www.qksnap.com/i/3hunq/4ld0v/screenshot.png

Actualmente puedo dibujar rectángulos con éxito en un fondo de vidrio semitransparente usando el siguiente código:

    protected void paintComponent(Graphics g) {
          Graphics2D g2 = (Graphics2D) g;
          g.setColor(Color.black); // black background
          g.fillRect(0, 0, frame.getWidth(), frame.getHeight());
          g2.setColor(Color.GREEN.darker());
          if (getRect() != null && isDrawing()) {
            g2.draw(getRect()); // draw our rectangle (simple Rectangle class)
          }
         g2.dispose();
}

Lo que funciona muy bien, sin embargo, me encantaría que el área dentro del rectángulo sea completamente transparente, mientras que el exterior aún se oscurece como la captura de pantalla de arriba.

¿Algunas ideas?

Respuestas a la pregunta(2)

Su respuesta a la pregunta