Abrir Link na mesma aba

Sou leigo com programação e estou usando o netbeans para programar.
Criei um programinha que ao apertar um botão ele abre um site com o navegador padrão, esta parte do código que abre o navegador, foi um terceiro que me passou, sinceramente não entendo ele XD

try {
   java.awt.Desktop.getDesktop().browse(new URI(url1));
} catch (URISyntaxException | IOException ex) {
   Logger.getLogger(Dowcon.class.getName()).log(Level.SEVERE, null, ex);
}

com ele, o programa abre um nova aba, como faço para abrir um segundo link usando a mesma aba

Vc ta programando pra Desktop ou Web? (sei que ta usando o java.awt… Mas fiquei confuso com vc falando em abas)

desktop, eu acho.
o netbeans cria um arquivo .jar que quando executo, ele abre o programa, eu insiro o link em um campo e guardo na string url1 que ao apertar o botão executa o codigo acima abrindo o navegador, só que cada vez que eu apertar o botão ele vai abrindo uma aba nova no navegador, tem como sempre usar a mesma aba ?

Ata, entendi agora.

usa isso:

public static boolean openWebpage(URI uri) {
    Desktop desktop = Desktop.isDesktopSupported() ? Desktop.getDesktop() : null;
    if (desktop != null && desktop.isSupported(Desktop.Action.BROWSE)) {
        try {
            desktop.browse(uri);
            return true;
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    return false;
}

Pra chamar:

    try {
        openWebpage(new URI("http://www.google.com"));
    } catch (URISyntaxException ex) {
        Logger.getLogger(login.class.getName()).log(Level.SEVERE, null, ex);
    }
1 curtida

sempre que eu aciono o botão ele continua criando uma nova aba.

Olha só, isso é o que o botão está fazendo:

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    Chave = jTextField1.getText(); // Pega o conteudo do campo de texto e coloca na memória
    
    Chave1 = Chave.replace(" ", ""); // Retira os espaços
    Chave = Chave1.replace(".", "");
    Chave1 = Chave.replace("-", "");
    Chave = Chave1.replace("/", "");
    Chave1 = Chave;
    
    url1 = part1 + Chave1 + part2; // Junta as memórias para formar um Link
    url2 = part5 + Chave1 + part6; // Junta as memórias para formar um Link
    
    
    if(Chave1.equals("")){ // Caso a memria esteja em branco, este não executa nada
           
        this.dispose(); // Fecha a janela
        
    } else {
        
        try {
            openWebpage(new URI(url1));
        } catch (URISyntaxException ex) {
            Logger.getLogger(Dowcon.class.getName()).log(Level.SEVERE, null, ex);
        }
                    
        try {
            openWebpage(new URI(url2));
        } catch (URISyntaxException ex) {
            Logger.getLogger(Dowcon.class.getName()).log(Level.SEVERE, null, ex);
        }
        
        this.dispose(); // Fecha a janela
        
    }

Do jeito que está, ficou legal, o link que eu preciso abrir, é o segundo “url2”, mais normalmente ele buga e só abre se o primeiro “url1” estiver carregado, tem como fazer o programa esperar uns dois segundos e aí abrir o segundo ? tipo aperto o botão, abre o primeiro link, espera dois segundos, abre o segundo link?
Se tiver como usar a mesma aba seria legal também XD

Cara, eu já tentei isso de usar a mesma aba, mas não nunca achei uma solução, vc pode criar uma página em html e toda vez que vc clica no botão, ela é redirecionada pra tal lugar