Janela de Seleção Interno-Transparente em Java usando GlassPane

Eu estou tentando alcançar o seguinte

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

Atualmente sou capaz de desenhar retângulos com sucesso em um fundo de vidro semitransparente usando o seguinte 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();
}

O que funciona muito bem, no entanto, eu adoraria ter a área dentro do retângulo completamente transparente, enquanto o lado de fora ainda era muito escuro como na imagem acima.

Alguma ideia?

questionAnswers(2)

yourAnswerToTheQuestion