Non-static method cannot be referenced from a static context

Ajude-me, estou tentando habilitar um menu e gravar texto mas estou com probleminhas…
Meu código:

private void Logar(){
    String sql = "select * from usuarios where login = ? and senha = ?";
    try {

        pst = conexao.prepareStatement(sql);
        pst.setString(1, txtUsuario.getText());
        pst.setString(2, txtSenha.getText());
        rs = pst.executeQuery();
            if (rs.next()){
                String perfil = rs.getString(6);
            if (perfil.equals("admin")){
                TelaPrincipal principal = new TelaPrincipal();
                principal.setVisible(true);

                 **TelaPrincipal.menuRelatorio.setEnabled(true);**
                 **TelaPrincipal.menuUsuario.setEnabled(true);**
                 **TelaPrincipal.lbUsuario.setText(rs.getString(2));_**

                this.dispose();
                conexao.close();
            }else{
                 TelaPrincipal principal = new TelaPrincipal();
                  principal.setVisible(true);

                 **TelaPrincipal.lbUsuario.setText(rs.getString(2));**

                 this.dispose();
                 conexao.close();
            }
                
            }else {
                JOptionPane.showMessageDialog(this, "Usuario ou senha incorretos");
            }
     
    } catch (Exception e) {
        JOptionPane.showMessageDialog(this, e);
    }
}

Vamos lá, método em java começam com letra MINUSCULA.
Ao invez de chamar o close duas vezes para fechar a conexao, coloca ele dentro do finally.
E por fim, já existem alguns tópicos com esse mesmo tipo de problema, só pesquisar com o título do seu tópico.