Erro java.lang.IllegalArgumentException: Cannot format given Object as a Date

Cordiais saudações,
Sou iniciante em programação java, estou desenvolvendo um Sistema de Controle de Estoque.

  • Possuo uma tela para cadastro de productos;

  • Possuo um banco de dados mySQL;

  • A conexão com o banco de dados está funcionando perfeitamente;

Problema:

Quando clico no botão inserir ocorre o seguinte erro:
java.lang.IllegalArgumentException: Cannot format given Object as a Date

Eis o meu código no botão Inserir:

private void jButtonInserirActionPerformed(java.awt.event.ActionEvent evt) {                                               
    
    if(verificarCamposInsercao() && ImgPath != null){
            Connection con = getConnection();
        try {
            PreparedStatement ps = con.prepareStatement("INSERT INTO "
                    + "producto (nome, precoUnitario, dataAdicao, fotografia) "
                    + "VALUES (?,?,?,?)");
            
            ps.setString(1, jTextFieldNome.getText());
            ps.setString(2, jTextFieldPrecoUni.getText());
            
            SimpleDateFormat formatoData = new SimpleDateFormat("dd-MM-yyyy");
            
            String adicionarData;
            adicionarData = formatoData.format(dateChooserCombo1.getDateFormat());
            
            ps.setString(3, adicionarData);
            
            InputStream img = new FileInputStream(new File(ImgPath));
            ps.setBlob(4, img);
            
            ps.executeUpdate();
            
            JOptionPane.showMessageDialog(null, "Inserido com sucesso");
            
        } catch (SQLException ex) {
           JOptionPane.showMessageDialog(null, "Erro ao inserir dados!" +ex.getMessage());
        
        } catch (FileNotFoundException ex) {
           JOptionPane.showMessageDialog(null, "Erro ao inserir imagem!" +ex.getMessage());
        }
    }else{
            JOptionPane.showMessageDialog(null, "Um ou mais campos estao vazios");
    }
} 

Meu banco de dados:

Agradeceria bastante que me ajudassem.

Meus contactos:
+258842327571 (WhatsApp)
zakalford@outlook.com
zakalford1@gmail.com

Cara o problema deve estar na conversão da data, se seu campo no Mysql estiver definido como date o padrão de formato para salvar é invertido
seria deste jeito -> “yyyy-MM-dd”

Seu objeto adicionarData precisa ser do tipo java.sql.Date, de forma que você possa setar assim:

ps.setDate(3, adicionarData);

Cordiais saudações
Sinto-me grato pela dinâmica nas respostas e principalmente pelos bons comentários. Com base nas vossas repostas pude dar algum avanço e enfrentar o erro. Portanto cheguei a conclusão que:
1o – precisava de alterar o tipo de dado da variável data de varChar() para date na base de dados pois dessa maneira mantemos a integridade dos dados e fica mais facil salvar a informação.
2o – por estar a usar jDateChooser para introdução das datas no Sistema, foi necessário:

SimpleDateFormat formatoData = new SimpleDateFormat("yyyy-MM-dd");//Definindo o formato da data

String data; //Criando uma variável data para receber o valor que sera especificado no jDateChooser

data = formatoData.format(dateChooserCombo1.getSelectedDate().getTime());//Pegando a data do jDateChooser
                ps.setDate(3, java.sql.Date.valueOf(data)); //Conversao de String para java.sql.Date

Grato pela atenção dispensada!

Não precisa (nem deveria) alterar o tipo na base de dados

java.util.Date   date = dateChooserCombo1.getSelectedDate(); // obtendo um java.util.Date
java.sql.Date sqlDate = new java.sql.Date(date.getTime());   // convertendo para java.sql.Date
preparedStatement.setDate(coluna, sqlDate);