Usa método de clicar para selecciona + função

Fera, deixa eu tentar te explicar de uma maneira que você consiga compreender e que não me faça parecer um cara (muito) chato:
O que você tentou fazer?
Veja, programar é mais que pegar um código pronto aqui, outro ali. É extremamente necessário que você coloque a mão na massa e faça.
O objetivo do guj é esclarecer dúvidas a partir de algo que você já fez.
Então, me mostre os códigos:

  • Obtendo linha da JTable
  • O teu table model
  • O método que, a partir da linha selecionada, retorna o objeto
  • A classe que faz conexão com o banco de dados
  • O método que realiza o tal update que você está questionando.

Aí podemos ajudar, talvez não apenas eu, mas os demais participantes do fórum.

mano entenda. eu quero muito mostrar o code porem eu não sei colocar ele aqui, de forma da pagina toda, se eu souber eu coloco, se pah o projeto todo para poderem me ajudar.

Upa o projeto no github então.

ok.

upado, ele aqui https://github.com/hazalith/projeto_universitario1/

Quais é a tela? E o table model? E o dao?


jtable acima

TelaInicial -> tela para inicialização e com um label que mostrar a conexão com o DB.

TelaEntrar -> (1) tela onde ira solicitar para o usuário selecionar.
Editar -> (1) tela onde se cadastra, altera e apaga os evento.

TelaEvento -> Após clicar no evento selecionado na TelaEntrar será onde todas as adição dos atleta, mostra relatório, apaga atleta editar atleta será referente a esse evento selecionado.

AtletaEd + TelaEditarAtleta + TelaCadastroAtleta( Essa tela foi descontinuada) ( todas as 3 tela são para o mesmo propósito) -> tela de cadastras, apaga e editar atleta referente ao evento selecionado na TelaEntrar.

TelaChaveLuta -> Onde ira mostrar as informação do atleta referente a caixa de combinação.

Não quero toda a estrutura, apenas a que está em questão neste tópico.
Onde está o table model?
Onde está o dao?
Ou você fez tudo misturado?

Dao, está na pasta model, fiz um pouco misturado, pois qnd eu iniciei o projeto não sabia dessa metodologia ágil do dao e bean, e a jtable está no meu comentário anterior.

E o bendito table model? Não fez?

Man sorry não sei operar o Github, deu um trabalhão para colocar meu projeto nele, rsrsrsr

/EventoEntarTableModel

/ *

  • Para alterar esse cabeçalho de licença, escolha Cabeçalhos de licença em Propriedades do projeto.
  • Para alterar este arquivo de modelo, escolha Ferramentas | Modelos
  • e abra o modelo no editor.
  • /
    pacote Model.Bean;

import java.util.ArrayList;
import java.util.List;
import javax.swing.table.AbstractTableModel;

/ **
*

  • @autor hyago

  • /
    public class EventoEntarTableModel extends AbstractTableModel {

    Lista privada eve = new ArrayList <> ();
    private String [] colunas = {“id_evento”, “nome_evento”, “organizador”, “Data_Inicio”, “Data_Fim”};

    @Sobrepor
    public String getColumnName (coluna int) {
    return colunas [coluna];
    }

    @Sobrepor
    public int getRowCount () {
    return eve.size ();
    }

    @Sobrepor
    public int getColumnCount () {
    return colunas.length;
    }

    @Sobrepor
    Objeto público getValueAt (int linha, int coluna) {
    interruptor (coluna) {
    caso 0:
    return eve.get (linha) .getId_evento ();
    caso 1:
    return eve.get (linha) .getNome_evento ();
    caso 2:
    return eve.get (linha) .getOrganizador ();
    caso 3:
    return eve.get (linha) .getData_Inicio ();
    caso 4:
    return eve.get (linha) .getData_Fim ();
    }
    return null;
    }

    @Sobrepor
    public void setValueAt (valor do objeto, int linha, int coluna) {
    interruptor (coluna) {
    caso 0:
    eve.get (linha) .setId_evento (Integer.parseInt ((String) valor));
    pausa;
    caso 1:
    eve.get (linha) .setNome_evento ((String) valor);
    pausa;
    caso 2:
    eve.get (linha) .setOrganizador ((String) valor);
    pausa;
    caso 3:
    eve.get (linha) .setData_Inicio ((String) valor);
    pausa;
    caso 4:
    eve.get (linha) .setData_Fim ((String) valor);
    pausa;
    }
    this.fireTableRowsUpdated (linha, linha);
    }

    public void addRow (Evento e) {
    this.eve.add (e);
    this.fireTableDataChanged ();
    }

    removedor público vazioRow (int linha) {
    this.ve.remove (linha);
    this.fireTableRowsDeleted (linha, linha);
    }
    }

Você pode fazer de várias maneiras, eu faria assim,
Primeiro, no arquivo EventoEntarTableModel, criaria esses dois métodos:

public Evento retornaEventoPorLinha(int linha) {
    return this.eve.get(linha);
}

E

public void setEventoNaLinha(int linha, Evento evento) {
    this.eve.set(linha, evento);
    fireTableDataChanged();
}

Aí, você já tem a possibilidade de selecionar uma linha, clicar em um botão para editar, abrir o formulário com os dados deste evento, salvar, gravar no banco e atualizar a tabela.
Era isso que queria saber?

Mas como eu faço para o atleta sempre ser ligado ao evento selecionado?

Teu projeto está tão bagunçado, que eu sequer encontrei a classe evento.

Kkkkkkk, realmente está uma zorra esse projeto.

Sugestão: refaça tudo do zero.
E isso significa, basicamente, começar definindo as estruturas mais básicas, aquelas que representam o domínio do teu projeto, as entidades e suas relações.
Eu criaria um projeto com esta estrutura:

Projeto
    |---src
         |---- pu
             |---- entities
             |---- repositories
             |---- utils
             |---- views

Onde:
pu - diretório principal do projeto, onde você vai colocar a classe com o método main para iniciar o projeto.
entities - onde ficam somente as entidades.
repositories - onde ficam os daos
utils - onde ficam todas as classes utilitárias, incluindo os enums
views - onde ficam as classes relacionadas à view, incluindo os table models.

Depois que construir tudo isso, aí sim, pouco a pouco, vai construindo a aplicação, começando pelos DAOs.

Mano, poderia entrar em contato com vc pelo Skype?