Erro ao tentar listar itens na tabela

SEGUE ABAIXO O ERRO:
Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at conexoes.Conecta_Banco.executaSql(Conecta_Banco.java:38)
at VisaoFrame.ViewCargo.preencherTabela(ViewCargo.java:365)
at VisaoFrame.ViewCargo.(ViewCargo.java:34)
at VisaoFrame.ViewCargo$10.run(ViewCargo.java:356)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

SEGUE ABAIXO MINHA CLASSE DE CONEXÃO

import java.sql.*;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JOptionPane;

public class Conecta_Banco {

    public Statement stm;//responsavel por preparar e realizar pesquisa no banco de dados.
    public ResultSet rs;//responsavel por armazenar o resultado de uma pesquisa pasada para o statement
    public Connection conn;//responsavel por realizar a conexao com o banco de dados

    private String driver = "org.postgresql.Driver";//responsavel por identificar o serviço do banco de dados
    private String caminho = "jdbc:postgresql://localhost:5432/ibscDB";
    private String usuario = "postgres";
    private String senha = "17072010";

    // Metodo que fara a abertura da conexão com o banco de dados.
    public void abreConexao() {
        try {
            System.setProperty("jdbc.Drivers", driver);
            conn = DriverManager.getConnection(caminho, usuario, senha);
            JOptionPane.showMessageDialog(null, "Conectado com sucesso!");
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Erro ao conectar!" + ex.getMessage());
            //Logger.getLogger(ConexaoSCI.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    public  void executaSql(String sql) {
        try {
            stm = conn.createStatement(rs.TYPE_SCROLL_SENSITIVE, rs.CONCUR_READ_ONLY);
            rs = stm.executeQuery(sql);
        } catch (SQLException ex) {
            //JOptionPane.showMessageDialog(null,"Não foi possível "+ "executar o comando sql,"+ex+", o sql passado foi "+sql);
        }
    }
    
    //fecha conexão com o banco
    public void fechaConexao() {
        try {
            conn.close();//fecha a conexao
            //JOptionPane.showMessageDialog(null,"banco fechado");
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Não foi possivel " + "fechar o banco de dados: " + ex.getMessage());
        }
    }
}

PRECISO DE AJUDA.

Tópico duplicado e o problema é causado pela mesma falha.