Nullpointerexception com combobox por metodo

ola pessoal sou novo por aqui, então vai desculpando se eu fizer alguma coisa de errado.
o problema é o seguinte estou seguindo as video aulas do professor neri java se I
na video aula ele ensina passo a passo como fazer um programa de estoque só que eu estou com um problema que no video não apareceu ja tentei de varias formas e resolver e nao consegui gostaria da ajuda de vcs.
dessa forma não funciona:

public void mostrar_dados() {
		try {
			
			tf_codigo.setText(con_cidade.resultset.getString("codigo"));
			tf_nome.setText(con_cidade.resultset.getString("nome"));
			cb_uf.setSelectedItem(con_cidade.resultset.getString("uf"));
			
		} catch(SQLException erro){
			if (navega == 1)
				JOptionPane.showMessageDialog(null, "Você já esta no primeiro registro");
			else if (navega == 2)
				JOptionPane.showMessageDialog(null, "Você já esta no ultimo registro");
			else
				JOptionPane.showMessageDialog(null, "Não localizou dados " + erro);
			navega = 0;
		}
	}
	
	public class BotaoPrimeiroListener implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			try {
				con_cidade.resultset.first();
				mostrar_dados();
				navega = 1;
				
			} catch(SQLException erro){
				JOptionPane.showMessageDialog(null, "Não localizou dados " + erro);
			}	
		}
	}
	public class BotaoAnteriorListener implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			try {
				con_cidade.resultset.previous();
				mostrar_dados();
				navega = 1;
			
			} catch(SQLException erro){
				JOptionPane.showMessageDialog(null, "Não localizou dados " + erro);
			}	
		}
	}
	
	public class BotaoProximoListener implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			try {
				con_cidade.resultset.next();
				mostrar_dados();
				navega = 2;
				
			} catch(SQLException erro){
				JOptionPane.showMessageDialog(null, "Não localizou dados " + erro);
			}	
		}
	}
	
	public class BotaoUltimoListener implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			try {
				con_cidade.resultset.last();
				mostrar_dados();
				navega = 2;
				
			} catch(SQLException erro){
				JOptionPane.showMessageDialog(null, "Não localizou dados " + erro);
			}	
		}
	}

mas se eu retirar o método e colocar pra ele fazer dentro do action performed ele funciona

public class BotaoPrimeiroListener implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			try {
				con_cidade.resultset.first();
				tf_codigo.setText(con_cidade.resultset.getString("codigo"));
			        tf_nome.setText(con_cidade.resultset.getString("nome"));
			        cb_uf.setSelectedItem(con_cidade.resultset.getString("uf"));
				navega = 1;
				
			} catch(SQLException erro){
				JOptionPane.showMessageDialog(null, "Não localizou dados " + erro);
			}	
		}
	}

ele da um nullpointerexception no combobox
agradeço quem puder ajudar.

Provavelmente no teu console vai te dizer a linha em que está estourando essa NullPointer. Posta aí…

o erro que aparece é esse:

Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at cadastros.cad_cidade.mostrar_dados(cad_cidade.java:181)
at cadastros.cad_cidade$BotaoProximoListener.actionPerformed(cad_cidade.java:218)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Como não tenho todo o código fonte do arquivo cad_cidade.java (Deveria ser CadCidade.java) não tem como teu te dizer qual a variável está estourando, mas este log diz que é na linha 181. Dê uma olhada nesta linha. Se não conseguir poste todo o código do cad_cidade.java.

a linha 181 corresponde ao combobox do metodo mostrar_dados, mas não consegui descobrir pq ele esta recebendo null.

package cadastros;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import java.awt.Font;
import java.awt.Color;
import java.sql.SQLException;

import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JComboBox;
import javax.swing.JButton;
import javax.swing.ImageIcon;
import javax.swing.DefaultComboBoxModel;
import utilitarios.conexao;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;


public class cad_cidade extends JFrame {
    conexao con_cidade;
	private JPanel contentPane;
	private JTextField tf_codigo;
	private JTextField tf_nome;
	private JTextField tf_pesquisa;
	private JComboBox cb_uf;
	int navega = 0; // variavel apenas para sabermos em qual botao foi clicado

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					cad_cidade frame = new cad_cidade();
					frame.setVisible(true);
					
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 * @param cb_uf 
	 */
	
	public cad_cidade() {
		setTitle("Manuten\u00E7\u00E3o do Cadastro de Cidades");
		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		setBounds(100, 100, 440, 352);
		setResizable(false);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		contentPane.setLayout(null);
		setContentPane(contentPane);
		
		JLabel lblManutenoDoCadastro = new JLabel("Manuten\u00E7\u00E3o do Cadastro de Cidades");
		lblManutenoDoCadastro.setBackground(new Color(240, 240, 240));
		lblManutenoDoCadastro.setFont(new Font("Tahoma", Font.PLAIN, 14));
		lblManutenoDoCadastro.setBounds(109, 11, 257, 14);
		contentPane.add(lblManutenoDoCadastro);
		
		JLabel lblCdigo = new JLabel("C\u00F3digo.:");
		lblCdigo.setBounds(10, 75, 46, 22);
		contentPane.add(lblCdigo);
		
		tf_codigo = new JTextField();
		tf_codigo.setBounds(76, 72, 86, 22);
		contentPane.add(tf_codigo);
		tf_codigo.setColumns(10);
		
		JLabel lblNome = new JLabel("Nome.:");
		lblNome.setBounds(10, 100, 46, 22);
		contentPane.add(lblNome);
		
		tf_nome = new JTextField();
		tf_nome.setBounds(76, 97, 221, 22);
		contentPane.add(tf_nome);
		tf_nome.setColumns(10);
		
		JLabel lblUf = new JLabel("UF.:");
		lblUf.setBounds(10, 125, 46, 22);
		contentPane.add(lblUf);
		
		JComboBox cb_uf = new JComboBox();
		cb_uf.setModel(new DefaultComboBoxModel(new String[] {"RO", "RS", "SP", "AC", "AM", "RJ", "MG"}));
		cb_uf.setBounds(76, 122, 57, 22);
		contentPane.add(cb_uf);
		
		JButton botao_primeiro = new JButton("");
		botao_primeiro.addActionListener(new BotaoPrimeiroListener());
		botao_primeiro.setToolTipText("Vai para o primeiro registro");
		botao_primeiro.setIcon(new ImageIcon("C:\\Users\\Aldinei\\workspace\\Estoque\\imagens\\anterior2.jpg"));
		botao_primeiro.setBounds(10, 187, 81, 57);
		contentPane.add(botao_primeiro);
		
		JButton botao_anterior = new JButton("");
		botao_anterior.addActionListener(new BotaoAnteriorListener());
		botao_anterior.setIcon(new ImageIcon("C:\\Users\\Aldinei\\workspace\\Estoque\\imagens\\anterior.gif"));
		botao_anterior.setBounds(109, 187, 81, 57);
		contentPane.add(botao_anterior);
		
		JButton botao_proximo = new JButton("");
		botao_proximo.addActionListener(new BotaoProximoListener());
		botao_proximo.setIcon(new ImageIcon("C:\\Users\\Aldinei\\workspace\\Estoque\\imagens\\avan\u00E7ar.jpg"));
		botao_proximo.setBounds(208, 187, 81, 57);
		contentPane.add(botao_proximo);
		
		JButton botao_ultimo = new JButton("");
		botao_ultimo.addActionListener(new BotaoUltimoListener());

		botao_ultimo.setIcon(new ImageIcon("C:\\Users\\Aldinei\\workspace\\Estoque\\imagens\\avancar2.jpg"));
		botao_ultimo.setBounds(307, 187, 81, 57);
		contentPane.add(botao_ultimo);
		
		JButton botao_gravar = new JButton("");
		botao_gravar.setToolTipText("Grava o registro");
		botao_gravar.setIcon(new ImageIcon("C:\\Users\\Aldinei\\workspace\\Estoque\\imagens\\salvar.jpg"));
		botao_gravar.setBounds(109, 255, 81, 57);
		contentPane.add(botao_gravar);
		
		JButton botao_inserir = new JButton("");
		/*botao_inserir.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				tf_codigo.setText("");
				tf_nome.setText("");
				cb_uf.setSelectedItem("RO");
				tf_nome.requestFocus();
				tf_codigo.setEditable(false);
			}
		});*/
		botao_inserir.setIcon(new ImageIcon("C:\\Users\\Aldinei\\workspace\\Estoque\\imagens\\new.jpg"));
		botao_inserir.setBounds(10, 255, 81, 57);
		contentPane.add(botao_inserir);
		
		JButton botao_excluir = new JButton("");
		botao_excluir.setIcon(new ImageIcon("C:\\Users\\Aldinei\\workspace\\Estoque\\imagens\\excluir.jpg"));
		botao_excluir.setBounds(208, 255, 81, 57);
		contentPane.add(botao_excluir);
		
		JButton botao_alterar = new JButton("");
		botao_alterar.setIcon(new ImageIcon("C:\\Users\\Aldinei\\workspace\\Estoque\\imagens\\editar2.jpg"));
		botao_alterar.setBounds(307, 255, 81, 57);
		contentPane.add(botao_alterar);
		
		JLabel lblPesquisar = new JLabel("Pesquisar.:");
		lblPesquisar.setBounds(10, 47, 71, 22);
		contentPane.add(lblPesquisar);
		
		tf_pesquisa = new JTextField();
		tf_pesquisa.setToolTipText("Digite as iniciais da cidade para localizar");
		tf_pesquisa.setBounds(76, 45, 221, 22);
		contentPane.add(tf_pesquisa);
		tf_pesquisa.setColumns(10);
		
		JComboBox cb_pesquisa = new JComboBox();
		cb_pesquisa.setBounds(307, 45, 107, 22);
		contentPane.add(cb_pesquisa);
		
		con_cidade = new conexao();
		con_cidade.conecta();
		con_cidade.executeSQL("select * from cidade");	
		
	}
	

	public void mostrar_dados() {
		try {
			
			tf_codigo.setText(con_cidade.resultset.getString("codigo"));
			tf_nome.setText(con_cidade.resultset.getString("nome"));
			cb_uf.setSelectedItem(con_cidade.resultset.getString("uf"));
			
		} catch(SQLException erro){

				JOptionPane.showMessageDialog(null, "Não localizou dados " + erro);

		}
	}
	
	public class BotaoPrimeiroListener implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			try {
				con_cidade.resultset.first();
				mostrar_dados();

				
			} catch(SQLException erro){
				JOptionPane.showMessageDialog(null, "Não localizou dados " + erro);
			}	
		}
	}
	public class BotaoAnteriorListener implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			try {
				con_cidade.resultset.previous();
				mostrar_dados();
			
			} catch(SQLException erro){
				JOptionPane.showMessageDialog(null, "Não localizou dados " + erro);
			}	
		}
	}
	
	public class BotaoProximoListener implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			try {
				con_cidade.resultset.next();
				mostrar_dados();
				
			} catch(SQLException erro){
				JOptionPane.showMessageDialog(null, "Não localizou dados " + erro);
			}	
		}
	}
	
	public class BotaoUltimoListener implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			try {
				con_cidade.resultset.last();
				mostrar_dados();
				
			} catch(SQLException erro){
				JOptionPane.showMessageDialog(null, "Não localizou dados " + erro);
			}	
		}
	}

}

Na linha 181 tu tens o seguinte:

cb_uf.setSelectedItem(con_cidade.resultset.getString("uf"));

Pode ser que:
Dê uma olhada na con_cidade da classe conexao se está conectando, consultando e populando este resultset…
(Se tiver linhas vazias antes de “package cadastros;” então a linha 181 não é esta.)
Importante é ver no log a linha onde está estourando o problema.

não tem linhas vazias antes de package cadastros;
e como eu disse ele esta populando sim o resultset pois se eu retirar o metodo e colocartf_codigo.setText(con_cidade.resultset.getString("codigo")); tf_nome.setText(con_cidade.resultset.getString("nome")); cb_uf.setSelectedItem(con_cidade.resultset.getString("uf")); dentro dos actionperformed dos botoes funciona normalmente mas gostaria de descobrir pq com o metodo não está funcionando.

provavelmente está vindo null nesta UF, verifique o banco e preencha todos que nao estao preenchidos, ou faca uma validacao para teste

nao tem nenhum problema com o banco pq ele mesmo no metodo ele esta capturando os valores de tf_codigo e tf_nome, só o cb_uf que esta recebendo null e não sei pq.