Dúvidas em java

Sou iniciante em java e não estou conseguindo rodar uma aplicação com a tabela vazia, da uma exceção(catch) da uma mensagem de erro, dai surgiu a dúvida posso tratar esta tabela não dando nenhuma mensagem de erro ou existe um método que pega a tabela vazia

Que tabela? É um banco de dados? Uma estrutura em memória?

Qual Exception? Qual mensagem de erro?

Cola o código aqui e aponta onde está o erro. Precisamos de mais contexto para te ajudar.

É uma tabela de um banco de dados
Dá um Exception quando a tabela do banco de dados esta vazia

public void mostrar_dados()
{
    try
    {
  //      testar_navegacao();
        tf_codigo.setText(con_cidade.resultset.getString("codigo"));
        tf_nome.setText(con_cidade.resultset.getString("nome"));
    }
    catch(SQLException erro)
    {
       JOptionPane.showMessageDialog(null,"Não localizou dados "+erro);
        
        
    }
}

Oi boa noite!

Você deu uma olhada no meu problema?

obrigado

Tenta isolar o código, para evitar que a conexão ou o resultset cheguem nulos nesse trecho do código.

if (con_cidade == null) {
    return; //sem conexão com o BD
}

if (con_cidade.resultset == null) {
    return; //resultset não possui dados
}

tf_codigo.setText(con_cidade.resultset.getString("codigo"));     
tf_nome.setText(con_cidade.resultset.getString("nome"));

Ola Jonathan!
O erro ainda permanece
E a tabela do banco de dados que esta vazia

Tenta fazer o seguinte:

if (con_cidade.resultset.first()) {
    tf_codigo.setText(con_cidade.resultset.getString("codigo"));     
    tf_nome.setText(con_cidade.resultset.getString("nome"));
}

Já tentei colocar este código, mas quando a tabela e vazia da uma exceção, mas eu quero pegar quando a tabela e vazia e controlar a navegação, tipo ir para o primeiro registro, para o próximo, anterior, ultimo estas coisas.
obrigado

Entao coloquei o seguinte codigo e deu certo

 if (con_cidade.resultset.first() == false) 
 {
       JOptionPane.showMessageDialog(null,"Não existem dados para esta cidade"); 
       return;
 }

so vai entrar aqui quando a tabela estiver vazia e nao da a excessao

e para controlar o botao de navegacao (primeiro, proximo, anterior, ultimo) que foi clicado usei uma variavel

e para controlar a linha da tabela usei uma outra variavel e ta funcionando

obrigado

Não é necessário testar a igualdade de valor pois o first() já retorna um valor boolean, no seu caso, como só entra no if se o retorno for false você só precisa fazer a negação, ficando assim!

if (!con_cidade.resultset.first())

Só não entendi o porquê do código que te passei não ter funcionado, pois você fez exatamente o que te falei, a mesma coisa, só que usando a negação para exibir uma mensagem de que não existiam dados, no exemplo que te passei o código só seria executado caso houvessem dados.

Quando excluo um registro auto-increment ele vai para onde? Fica algum lixo, acho que esse e o problema

Normalmente não, a não ser que você esteja mantendo uma instância do objeto que contém dados do registro recuperado para exclusão.

Acho que o problema ta no banco de dados, porque rodo o mesmo sql no banco e da o mesmo efeito, ta como notnull no banco

Por favor se você puder me ajudar, to com este problema e não to conseguindo continuar meu trabalho.

Obrigado

Desculpe e obrigado Jonathan expressei errado, deu certo, consigo saber quando a tabela esta vazia no codigo, mas quando excluo registros, e volto a incluir o mesmo continua acrescentando na sequencia, quero saber como faco para quando excluir um registro, apague na tabela, limpando a mesma. As tabelas foram convertidas do access para mysql e ta como autoincrement e notnull

obrigado

Quando você diz remover da tabela seria a tabela do banco de dados?
Ou você se refere a JTable?

Na tabela no banco de dados

Basta recuperar o id do registro desejado e fazer a exclusão via sql pela classe responsável.

Excluir o registro estou ate conseguindo, mas o meu problema e quando vou inserir um novo registro, mesmo com a tabela vazia, ele começa do ultimo registro, por exemplo, vou la e incluo 10 registros e excluo os mesmos e quando vou incluir novo registro, ele começa a partir do registro 11, quero limpar a tabela. Lá no banco de dados ta como autoincremet e notnull

Não basta excluir todos os dados, você precisar zerar o auto_increment referente à essa tabela. No MySQL, isso é feito assim

ALTER TABLE {tablename} AUTO_INCREMENT = 1

Substituindo {tablename} pelo nome da tabela.

Referência: https://stackoverflow.com/questions/8923114/how-to-reset-auto-increment-in-mysql

Para eliminar todos os registros e já zerar o auto_increment (basicamente, recriando a tabela), você pode dar uma olhada no comando truncate.

Abraço.