[Java] Como executar um método de um jFrame através de outro JFrame?

Olá programadores, o meu programa consiste em abrir vendas, realizar, e finalizar as vendas, é um conjunto de mesas que quando o usuário clica em uma mesa desejada uma venda é aberta, um método é executado para trocar o ícone de uma label para identificarmos como “Mesa em uso” só que quando eu finalizo a venda eu não consigo executar outro método que trocaria novamente a label da mesa por exemplo “Mesa Disponível”.

Código - Esse código abaixo esta na Jframe Principal onde esta todas as mesas, essa por exemplo é a Mesa 1.

private void lblMesa1MouseClicked(java.awt.event.MouseEvent evt) {                                      
        MesaDAO meDAO = new MesaDAO();
        int i;
        int mesa1 = 1, pagamento;
        pagamento = meDAO.verificarPG(mesa1);
        if(pagamento != 0){
            i = JOptionPane.showConfirmDialog(null, "INTER-RESTAURANTE\n[Mesa1]- Deseja Abrir uma venda?");
            if(i == OK_OPTION){
            ImageIcon mesaFechada = new 
            ImageIcon(getClass().getResource("mesaFechada.png"));
            lblMesa1.setIcon(mesaFechada);
            Mesa1 me1 = new Mesa1();
            me1.liberarBotoes();//botoes ativados
                try {
                    meDAO.abrirVenda(mesa1);
                } catch (SQLException ex) {
                    JOptionPane.showMessageDialog(null, "Erro ao abrir a venda!\n"+ex);
                }
            }else{
            Mesa1 me1 = new Mesa1();//com os botoes desativados
            }
        }else{
            Mesa1 me1 = new Mesa1();//mesa ja aberta
            me1.liberarBotoes();//entao botoes ativados
        } 
    }

Fim do codigo.

Código2 - Jframe Mesa1 onde estão todas as informações da mesa, e é aqui que é finalizada a venda, na minha ideia eu precisaria executar um método criado por mim para setar uma outra imagem da mesa 1 quando a venda for finalizada, para isso eu criei um método que troca a imagem da da mesa 1 no JFrame Principal que é este abaixo.

public void setarMesa1Aberta(){
       ImageIcon mesaAberta = new ImageIcon(getClass().getResource("MesaAberta.png"));
       lblMesa1.setIcon(mesaAberta);
    }

O meu problema é que eu não consigo de uma forma direta acessar esse método da Principal estando na Mesa 1 e que a imagem seja trocada na hora sem eu precisar fechar e abrir o programa novamente.

1 - Quando postar códigos ou trechos de códigos, selecione o mesmo e clique no botão </> acima do editor
2 - Para isso, você precisa ter uma instância do objeto que possui o método a ser invocado no objeto que representa o jframe aberto.

Vou tentar, vlw @darlan_machado

Complementando a resposta anterior: talvez seja interessante estudar e aplicar o pattern observer.