Ajuda para implementar a função alterar dados do jogador

package view;

import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JCheckBox;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.awt.event.ActionEvent;
import com.jgoodies.forms.factories.DefaultComponentFactory;

import constraints.Diretorio;
import model.Jogador;
import util.ArquivoTexto;
import model.JogadorTableModel;

import javax.swing.JComboBox;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JTabbedPane;

public class JogadorForm extends JFrame {

private String diretorioListaJogadores = "/Users/DELL/documents/Jogadores.txt";
private JPanel contentPane;
private JTextField txtNome;
private JComboBox cboPosicao;
private JTextField txtNumeroCamisa;
private JTextField txtUsuario;
private JPasswordField txtSenha;
private JPasswordField txtConfirmarSenha;
private JCheckBox chkRegistroAtivo;

public static void main(String[] args) {
	EventQueue.invokeLater(new Runnable() {
		public void run() {
			try {
				
				JogadorForm frame = new JogadorForm(null, null);
				frame.setVisible(true);
				
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	});
}

public JogadorForm(JogadorTableModel model, Jogador jogador) {
	setTitle("Cadastro de Jogadores");
			
	setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	setBounds(100, 100, 400, 460);
	contentPane = new JPanel();
	contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

	setContentPane(contentPane);
	contentPane.setLayout(null);
	
	JLabel lblNome = new JLabel("Nome:");
	lblNome.setToolTipText("");
	lblNome.setBounds(29, 22, 132, 36);
	contentPane.add(lblNome);
	
	txtNome = new JTextField();
	txtNome.setToolTipText("Digite o Nome do Jogador");
	txtNome.setBounds(29, 59, 324, 35);
	contentPane.add(txtNome);
	txtNome.setColumns(10);
	
	chkRegistroAtivo = new JCheckBox("Registro ativo");
	chkRegistroAtivo.setSelected(true);
	chkRegistroAtivo.setToolTipText("Para Ativar um Registro Selecione a Caixa");
	chkRegistroAtivo.setBounds(248, 22, 105, 37);
	contentPane.add(chkRegistroAtivo);
	
	JButton btnSair = new JButton("Sair");
	btnSair.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) {	
			dispose();
		}
	});
	btnSair.setToolTipText("Clique Aqui Para Sair");
	btnSair.setBounds(268, 392, 85, 21);
	contentPane.add(btnSair);
	
	JButton btnSalvar = new JButton("Salvar");
	btnSalvar.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) {
			
			if (txtNome.getText().isBlank()) {
				JOptionPane.showMessageDialog(null, "Por Favor, Digite o Nome!");
				txtNome.requestFocus();
				return;
			}
			String posicao = (String) cboPosicao.getSelectedItem();
			if (posicao == null || posicao.isBlank()) {
				JOptionPane.showMessageDialog(null, "Por Favor, Informe a Posição!");
				cboPosicao.requestFocus();
				return;
			}
			if (txtNumeroCamisa.getText().isBlank()) {
				JOptionPane.showMessageDialog(null, "Por Favor, Digite o Número da Camisa!");
				txtNumeroCamisa.requestFocus();
				return;
			}				
			if (txtUsuario.getText().isBlank()) {
				JOptionPane.showMessageDialog(null, "Por Favor, Digite o Nome do Usuário!");
				txtUsuario.requestFocus();
				return;
			}
			
			String senha = new String(txtSenha.getPassword());
			String confirmarSenha = new String(txtConfirmarSenha.getPassword());
			
			if (senha.isBlank()) {
				JOptionPane.showMessageDialog(null, "Por Favor, Digite a Senha!");
				txtSenha.requestFocus();
				return;
			}
			if (confirmarSenha.isBlank()) {
				JOptionPane.showMessageDialog(null, "Por Favor, Confirme a Senha!");
				txtConfirmarSenha.requestFocus();
				return;
			}
			if (!senha.equals(confirmarSenha)) {
				JOptionPane.showMessageDialog(null, "Cuidado!!! A Senha Digitada é Diferente da Confirmação de Senha");
				txtSenha.requestFocus();
				return;
			}
			
			ArquivoTexto arquivoTexto = new ArquivoTexto();
			
			List<Jogador>jogadores = (List<Jogador>) (Object) arquivoTexto.ler(Diretorio.ARQUIVO_JOGADORES);
			for (Jogador jogador : jogadores) {
				if (jogador.getNome().equals(txtNome.getText())) {
					JOptionPane.showMessageDialog(null, "Cuidado!!! O Nome do Jogador já Existe.");
					txtNome.requestFocus();
					return;
				}
				else if (jogador.getNumeroCamisa() == Byte.parseByte(txtNumeroCamisa.getText())) {
					JOptionPane.showMessageDialog(null, "Cuidado!!! O Número da Camisa do Jogador já Existe.");
					txtNumeroCamisa.requestFocus();
					return;
				}
				else if (jogador.getUsuario().equals(txtUsuario.getText())) {
					JOptionPane.showMessageDialog(null, "Cuidado!!! O Usuário do Jogador já Existe.");
					txtUsuario.requestFocus();
					return;
				}
			}
			
			Jogador jogador = new Jogador();
			jogador.setNome(txtNome.getText());
			jogador.setPosicao(posicao);
			jogador.setNumeroCamisa(Byte.parseByte(txtNumeroCamisa.getText()));
			jogador.setUsuario(txtUsuario.getText());;
			jogador.setSenha(senha);
			jogador.setSituacao(chkRegistroAtivo.isSelected());
			jogador.imprimir();
			
			if (model != null) {
				model.add(jogador);
			}
			
			jogadores.add(jogador);
			arquivoTexto.gravar((List<Object>) (Object) jogadores, Diretorio.ARQUIVO_JOGADORES );
			JOptionPane.showMessageDialog(null, "Jogador Cadastrado com Sucesso!!!");
		}
	});
	btnSalvar.setToolTipText("Clique Aqui Para Salvar");
	btnSalvar.setBounds(173, 392, 85, 21);
	contentPane.add(btnSalvar);
	
	JLabel lblPosicao = DefaultComponentFactory.getInstance().createTitle("Posição:");
	lblPosicao.setToolTipText("");
	lblPosicao.setBounds(29, 93, 132, 35);
	contentPane.add(lblPosicao);
	
	JLabel lblNumeroCamisa = DefaultComponentFactory.getInstance().createTitle("Nº da Camisa:");
	lblNumeroCamisa.setBounds(221, 93, 132, 35);
	contentPane.add(lblNumeroCamisa);
	
	txtNumeroCamisa = new JTextField();
	txtNumeroCamisa.setToolTipText("Digite o Número da Camisa do Jogador");
	txtNumeroCamisa.setBounds(221, 128, 132, 35);
	contentPane.add(txtNumeroCamisa);
	txtNumeroCamisa.setColumns(10);
	
	cboPosicao = new JComboBox();
	cboPosicao.setModel(new DefaultComboBoxModel(new String[] {"Goleiro", "Zagueiro", "Lateral", "Volante", "Meio-Campo", "Atacante"}));
	cboPosicao.setToolTipText("Selecione a Posição do Jogador");
	cboPosicao.setBounds(29, 128, 165, 35);
	cboPosicao.setSelectedIndex(-1);
	contentPane.add(cboPosicao);
	
	JLabel lblUsuario = DefaultComponentFactory.getInstance().createTitle("Usuário:");
	lblUsuario.setBounds(29, 162, 132, 35);
	contentPane.add(lblUsuario);
	
	txtUsuario = new JTextField();
	txtUsuario.setToolTipText("Digite o Usuário do Jogador");
	txtUsuario.setBounds(29, 196, 324, 35);
	contentPane.add(txtUsuario);
	txtUsuario.setColumns(10);
	
	JLabel lblSenha = DefaultComponentFactory.getInstance().createTitle("Senha:");
	lblSenha.setBounds(29, 230, 132, 35);
	contentPane.add(lblSenha);
	
	txtSenha = new JPasswordField();
	txtSenha.setToolTipText("Digite a Senha do Jogador");
	txtSenha.setBounds(29, 264, 324, 35);
	contentPane.add(txtSenha);
	txtSenha.setColumns(10);
	
	JLabel lblConfirmarSenha = new JLabel("Confirmar Senha:");
	lblConfirmarSenha.setBounds(29, 299, 132, 36);
	contentPane.add(lblConfirmarSenha);
	
	txtConfirmarSenha = new JPasswordField();
	txtConfirmarSenha.setToolTipText("Digite a Senha do Jogador Novamente");
	txtConfirmarSenha.setBounds(29, 335, 324, 35);
	contentPane.add(txtConfirmarSenha);
	txtConfirmarSenha.setColumns(10);
	
	if(jogador != null) {
		txtNome.setText(jogador.getNome());
		cboPosicao.setSelectedItem(jogador.getPosicao());
		txtNumeroCamisa.setText(Byte.toString(jogador.getNumeroCamisa()));
		txtUsuario.setText(jogador.getUsuario());
		txtSenha.setText(jogador.getSenha());
		txtConfirmarSenha.setText(jogador.getSenha());
	}
	
	JButton btnAlterar = new JButton("Alterar");
	btnAlterar.addActionListener(new ActionListener() {

		public void actionPerformed(ActionEvent e) {	
			
			
			
			Alterar
			
			
			
			
		}	
	});
	
	btnAlterar.setToolTipText("Clique Aqui Para Alterar");
	btnAlterar.setBounds(76, 392, 85, 21);
	contentPane.add(btnAlterar);
	
	this.setLocationRelativeTo(null);
}

}

Pra que esses casts para Object e para List<Object>?

No seu método alterar você precisa obter o objeto Jogador que deseja alterar e aí alterar o valor de suas propriedades da mesma forma que faz no “salvar”, só que no “salvar” você está criando um novo jogador e no “alterar” você vai pegar um jogador existente.