Impedir JFrame abrir duas vezes

Bom dia pessoal, sou iniciante e estou trablhando/estudando em um projeto e me deparei com uma situação, quando eu clico em um botão ele chama uma Jframe, acontece que se clicar várias vezes no botão a jframe abre várias vezes também. Eu procurei aqui no fórum, tem alguns tópicos mas não consegui fazer, alguém poderia me ajudar?

Muito obrigado.

private void botaoprogressActionPerformed(java.awt.event.ActionEvent evt) {

    reports reports = new reports();
    reports.setVisible(true);

}

Eai, não tô no PC agora então pode ter alguma coisa errada, mas é algo similar a isso:

if(reports.isVisible()){
   reports.toFront();
} else {
   reports.setVisible(true);
}

@Rambruno
Sempre tive problema para controlar instâncias das minhas classes e acessa-las dentro de outras classes pegando exatamente aquela que precisava.

Pesquisei muito mas o que sempre diziam é que não existia isso em Java, então criei minha própria maneira de controlar as instâncias de forma dinâmica, sem precisar ficar escrevendo toneladas de código repetido toda vez que fosse criar uma tela.

Criei esse repositório de exemplo:

1 curtida