Mudar estado de objeto em outra classe

Bom dia!

Tenho um JFrame Login e através dele faço a validação e depois chamo o JFrame de Menu Principal.
Porém quando chamar dependendo do usuário quero deixar alguns itens de Menu que estão no Menu Principal com mnItem.setEnabled(false); por exemplo, mas da forma que estou fazendo esta dando nullpointerexception.

public void logar() {
String sql = “select * from tbusuario where login=? and senha=?”;

	try {
		pst = conexao.prepareStatement(sql);
		pst.setString(1, txtLogin.getText());
		pst.setString(2, String.valueOf(txtSenha.getPassword()));
		
		rs = pst.executeQuery();
		
		if (rs.next()) {
														
			TelaPrincipal principal = new TelaPrincipal();
		    TelaPrincipal.mniUAdmUsu.setEnabled(false);
			principal.setVisible(true);  
						
			TelaLogin.this.dispose();							
			
			conexao.close();
			
		} else {
			JOptionPane.showMessageDialog(null, "Usuário e/ou senha inválido(s).");
		}

	} catch (Exception e) {
		JOptionPane.showMessageDialog(null, e);
	}

} 

Estou usando esse método logar e vi em um tutorial o cara fazendo a mudança no objeto exatamente desta forma.
Coloquei o mniUAdmUsu como público e estático, mas está dando erro.

Tem algo de errado? Ou uma forma correta de fazer isso?
Desde já, obrigado pela atenção!

vem de onde o txtLogin??

na sua função

logar(Object txtLogin)

Ele ta nessa classe classe da tela de Login.
Eu crio este método nela e chamo abaixo no botão “confirmar”.

public class TelaLogin extends JFrame {

Connection conexao = null;
PreparedStatement pst = null;
ResultSet rs = null;

private JPanel contentPane;
private JTextField txtLogin;
private JPasswordField txtSenha;

JButton btnConfirmar = new JButton(“Confirmar”);
btnConfirmar.setFont(new Font(“Tahoma”, Font.PLAIN, 13));
btnConfirmar.setBounds(97, 148, 102, 23);
contentPane.add(btnConfirmar);
btnConfirmar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {

			logar();
					
		}
	});