Conversão de String para Time e Date[RESOLVIDO]

Olá pessoal, dá uma força não estou conseguindo converter Time e Date via Objetos.
Segue código:

package model;

import java.sql.Time;
import java.util.Date;

public class Contato {

    private int codigo;
    private String nome;
    private Time hora;
    private Date data;

    public int getCodigo() {
        return codigo;
    }

    public void setCodigo(int codigo) {
        this.codigo = codigo;
    }

    public Date getData() {
        return data;
    }

    public void setData(Date data) {
        this.data = data;
    }

    public Time getHora() {
        return hora;
    }

    public void setHora(Time hora) {
        this.hora = hora;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    

}
package dao;

import java.sql.*;
import java.util.ArrayList;
import model.Contato;

public class ContatoDAO {

    private Connection conn;
    private PreparedStatement stmt;
    private Statement st;
    private ResultSet rs;
    private ArrayList<Contato> lista = new ArrayList<Contato>();

    public ContatoDAO() {
        conn = new ConnectionFactory().getConexao();
    }

    public void inserir(Contato con) {
        String sql = "INSERT INTO tb_contato (nome, hora, data) VALUES (?,?,?)";
        try {
            stmt = conn.prepareStatement(sql);
            stmt.setString(1, con.getNome());
            stmt.setTime(2, con.getHora());
            stmt.setDate(3, new java.sql.Date(con.getData().getTime()));
            stmt.execute();
            stmt.close();
        } catch (SQLException erro) {
            throw new RuntimeException(erro);
        }
    }
//...
}

Botão salvar do JFrame:

package view;

import dao.ContatoDAO;
import javax.swing.JOptionPane;
import model.Contato;
import table.ContatoTableModel;

public class cad_contato extends javax.swing.JFrame {

    Contato con = new Contato();
    ContatoDAO cod = new ContatoDAO();

    public cad_contato() {
        initComponents();
        setLocationRelativeTo(null);
        preencher_tabela();
        tfNome.requestFocusInWindow();
    }

@SuppressWarnings("unchecked")

    private void btSalvarActionPerformed(java.awt.event.ActionEvent evt) {                                         
        try{
            if(tfCodigo.getText().equals("")){
                con.setNome(tfNome.getText());
                con.setHora(tfHora.getText()); //Não compilado
                con.setData(tfData.getText()); //Não compilado
                cod.inserir(con);
                preencher_tabela();
                limpar_campos();
            }else{
                con.setCodigo(Integer.parseInt(tfCodigo.getText()));
                con.setNome(tfNome.getText());
                con.setHora(tfHora.getText()); //Não compilado
                con.setData(tfData.getText()); //Não compilado
                cod.alterar(con);
                preencher_tabela();
                limpar_campos();
            }
        }catch(Exception erro){
            JOptionPane.showMessageDialog(null, ""+erro,"",JOptionPane.ERROR_MESSAGE);
        }
    }
///...
}

No aguardo.

Tentou usar a busca do fórum ?? http://www.guj.com.br/java/41935-converter-string-para-date

Olá,
Date está OK.
A dúvida também vem acompanhada de conversão de
String para Time. Este não estou conseguindo.
Obrigado.

Alguém?

Ok!

Se vc tem uma String pode usar a classe SimpleDateFormat que converte da sua String para Date.

Dá uma olhada: http://www.roseindia.net/java/java-conversion/StringToDate.shtml

flw.

Geralmente, um objeto do tipo date é capaz de guardar simultaneamente Data e Hora. O mesmo vale para os banco de dados.
Você não deveria ter 2 campos, ou duas colunas separadas.

Você só separa na hora de exibir, usando o método que o LPJava comentou.

Olá,

Consegui resolver o problema
com tutorias que axei na net.
De toda forma é bom saber que o correto é usar uma coluna campo, ao invés
de date e time separados.

Obrigado mais uma vez a todos.

Como ficou o codigo?