Cadastrar datas no formato do mysql

Abaixo é o código para cadastrar data de vencimento.
dessa maneira que está o cadastro é feito no formato dd/MM/yyyy e campo do tipo string.

Gostaria de passa-la para o formato yyyy/MM/dd e campo Date , em fim padrao do mysql.

já tentei mas, não consgui.

agradeço!

[code]/*

  • CalendarComboBox.java
    */

package br.com.marcacao;

import com.sun.java.swing.plaf.motif.MotifComboBoxUI;
import com.sun.java.swing.plaf.windows.WindowsComboBoxUI;
import java.awt.Color;
import java.awt.Component;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.text.DecimalFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import javax.swing.BorderFactory;
import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.JFormattedTextField;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;
import javax.swing.Timer;
import javax.swing.UIManager;
import javax.swing.plaf.ComboBoxUI;
import javax.swing.plaf.basic.BasicComboBoxEditor;
import javax.swing.plaf.basic.BasicComboPopup;
import javax.swing.plaf.basic.ComboPopup;
import javax.swing.plaf.metal.MetalComboBoxUI;
import javax.swing.text.MaskFormatter;

public class CalendarComboBox extends JComboBox {

private boolean showActualDate;
private DatePopup datePopup;
private JFormattedTextField formattedTextField;

public CalendarComboBox(boolean showActualDate) {
/* ‘showActualDate’: indica que, quando a caixa de texto for (re)inicializada, o campo deve ou n�o exibir a data atual. */
super();
this.showActualDate = showActualDate;
MaskFormatter formatter = null;
try {

formatter = new MaskFormatter("##/##/####"); 
formatter.setPlaceholderCharacter('_');
} catch(ParseException e){};
formattedTextField = new JFormattedTextField(formatter);
formattedTextField.setBorder(((JComponent) getEditor().getEditorComponent()).getBorder());
if(showActualDate) formattedTextField.setValue(getTime());
else formattedTextField.setValue("");

formattedTextField.addFocusListener(new FocusAdapter() {
  public void focusLost(FocusEvent evt) {
    setValue();
  }
});

setEditor(new BasicComboBoxEditor() { public Component getEditorComponent() {return formattedTextField; }});
super.setEditable(true);

}

private String getTime() {
return new SimpleDateFormat(“dd/MM/yyyy”).format(Calendar.getInstance().getTime());
}

private boolean isValidDate(String source) {
try {
SimpleDateFormat sdf = new SimpleDateFormat(“dd/MM/yyyy”);
sdf.setLenient(false);
sdf.parse(source);
return true;
}
catch(ParseException pe) {
return false;
}
}

private void setSelectedItemToSuperClass(Object anObject) {
super.setSelectedItem(anObject);
}

private class MetalDateComboBoxUI extends MetalComboBoxUI {
protected ComboPopup createPopup() {
datePopup = new DatePopup();
return datePopup;
}
}

private class WindowsDateComboBoxUI extends WindowsComboBoxUI {
protected ComboPopup createPopup() {
datePopup = new DatePopup();
return datePopup;
}
}

private class MotifDateComboBoxUI extends MotifComboBoxUI {
protected ComboPopup createPopup() {
datePopup = new DatePopup();
return datePopup;
}
}

private class DatePopup extends BasicComboPopup {

private DatePanel datePanel;

public DatePopup() {
super(CalendarComboBox.this);
removeAll();
}

public void constructDatePopup() {
removeAll();
setPreferredSize(new java.awt.Dimension(192, 142));
setBorder(BorderFactory.createLineBorder(Color.BLACK));
setLayout(new GridLayout(1, 1));
datePanel = new DatePanel();
if(hasValidDate()) datePanel.prepareDate();
else datePanel.prepare(false, false, false, false);
add(datePanel);
}

public void show(Component invoker, int x, int y) {
constructDatePopup();
super.show(CalendarComboBox.this, CalendarComboBox.this.getWidth() - 193, CalendarComboBox.this.getHeight());
}

public void setVisible(boolean b) {
if(b == false) {
setValue();
datePanel.stopTimer();
datePanel = null;
};

super.setVisible(b);

}

}

private class DatePanel extends javax.swing.JPanel {

private GregorianCalendar gc;
private Timer timer;
private JLabel[] day;
private String[] month;
private JLabel dayOfMonthLabel;
private JLabel selectedLabel;
private int timerFlag = 0;
private int dayOfMonth = 0;
private int selectedDay = 0;
private boolean pressed = false;
private static final int TIME_FROZEN = 3;

public DatePanel() {
initComponents();
gc = new GregorianCalendar();

nextYear.addMouseListener(new java.awt.event.MouseAdapter() {
  public void mousePressed(java.awt.event.MouseEvent evt) {
    nextYear.setBorder(BorderFactory.createLoweredBevelBorder());
    if(SwingUtilities.isLeftMouseButton(evt)) initTimer(true, false, true, false);
  }
  
  public void mouseReleased(java.awt.event.MouseEvent evt) {
    nextYear.setBorder(BorderFactory.createRaisedBevelBorder());
    
    if(SwingUtilities.isLeftMouseButton(evt)) {
      terminateTimer();
      if(timerFlag <= TIME_FROZEN) prepare(true, false, true, false);
      timerFlag = 0;
    }
  }
});

nextMonth.addMouseListener(new java.awt.event.MouseAdapter() {
  public void mousePressed(java.awt.event.MouseEvent evt) {
    nextMonth.setBorder(BorderFactory.createLoweredBevelBorder());
    if(SwingUtilities.isLeftMouseButton(evt)) initTimer(false, true, true, false);
  }
  
  public void mouseReleased(java.awt.event.MouseEvent evt) {
    nextMonth.setBorder(BorderFactory.createRaisedBevelBorder());
    
    if(SwingUtilities.isLeftMouseButton(evt)) {
      terminateTimer();
      if(timerFlag <= TIME_FROZEN) prepare(false, true, true, false);
      timerFlag = 0;
    }
  }
});

previousMonth.addMouseListener(new java.awt.event.MouseAdapter() {
  public void mousePressed(java.awt.event.MouseEvent evt) {
    previousMonth.setBorder(BorderFactory.createLoweredBevelBorder());
    if(SwingUtilities.isLeftMouseButton(evt)) initTimer(false, true, false, false);
  }
  
  public void mouseReleased(java.awt.event.MouseEvent evt) {
    previousMonth.setBorder(BorderFactory.createRaisedBevelBorder());
    
    if(SwingUtilities.isLeftMouseButton(evt)) {
      terminateTimer();
      if(timerFlag <= TIME_FROZEN) prepare(false, true, false, false);
      timerFlag = 0;
    }
  }
});

previousYear.addMouseListener(new java.awt.event.MouseAdapter() {
  public void mousePressed(java.awt.event.MouseEvent evt) {
    previousYear.setBorder(BorderFactory.createLoweredBevelBorder());
    if(SwingUtilities.isLeftMouseButton(evt)) initTimer(true, false, false, false);
  }
  
  public void mouseReleased(java.awt.event.MouseEvent evt) {
    previousYear.setBorder(BorderFactory.createRaisedBevelBorder());
    
    if(SwingUtilities.isLeftMouseButton(evt)) {
      terminateTimer();
      if(timerFlag <= TIME_FROZEN) prepare(true, false, false, false);
      timerFlag = 0;
    }
  }
});

month = new String[] {"Janeiro", "Fevereiro", "Mar�o", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro",
  "Outubro", "Novembro", "Dezembro"};
day = new JLabel[42];

}

/** This method is called from within the constructor to

  • initialize the form.
  • WARNING: Do NOT modify this code. The content of this method is
  • always regenerated by the Form Editor.
    */
    //
    private void initComponents() {
    navegatePanel = new javax.swing.JPanel();
    previousYear = new javax.swing.JLabel();
    previousMonth = new javax.swing.JLabel();
    dateLabel = new javax.swing.JLabel();
    nextMonth = new javax.swing.JLabel();
    nextYear = new javax.swing.JLabel();
    weekAndDaysPanel = new javax.swing.JPanel();
    weekPanel = new javax.swing.JPanel();
    sundayLabel = new javax.swing.JLabel();
    mondayLabel = new javax.swing.JLabel();
    tuesdayLabel = new javax.swing.JLabel();
    wednesdayLabel = new javax.swing.JLabel();
    thursdayLabel = new javax.swing.JLabel();
    fridayLabel = new javax.swing.JLabel();
    saturdayLabel = new javax.swing.JLabel();
    daysPanel = new javax.swing.JPanel();
setLayout(new java.awt.BorderLayout());

navegatePanel.setLayout(null);

navegatePanel.setPreferredSize(new java.awt.Dimension(20, 20));
previousYear.setFont(new java.awt.Font("Arial", 0, 9));
previousYear.setText("<<");
previousYear.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
previousYear.setBorder(javax.swing.BorderFactory.createRaisedBevelBorder());

navegatePanel.add(previousYear);
previousYear.setBounds(0, 0, 20, 20);

previousMonth.setFont(new java.awt.Font("Arial", 0, 9));
previousMonth.setText("<");
previousMonth.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
previousMonth.setBorder(javax.swing.BorderFactory.createRaisedBevelBorder());

navegatePanel.add(previousMonth);
previousMonth.setBounds(20, 0, 20, 20);

dateLabel.setFont(new java.awt.Font("Tahoma", 1, 11));
dateLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
dateLabel.setText("Abril, 2006");
navegatePanel.add(dateLabel);
dateLabel.setBounds(45, 3, 100, 14);

nextMonth.setFont(new java.awt.Font("Arial", 0, 9));
nextMonth.setText(">");
nextMonth.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
nextMonth.setBorder(javax.swing.BorderFactory.createRaisedBevelBorder());

navegatePanel.add(nextMonth);
nextMonth.setBounds(150, 0, 20, 20);

nextYear.setFont(new java.awt.Font("Arial", 0, 9));
nextYear.setText(">>");
nextYear.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
nextYear.setBorder(javax.swing.BorderFactory.createRaisedBevelBorder());

navegatePanel.add(nextYear);
nextYear.setBounds(170, 0, 20, 20);

add(navegatePanel, java.awt.BorderLayout.NORTH);

weekAndDaysPanel.setLayout(new java.awt.BorderLayout());

weekAndDaysPanel.setBorder(javax.swing.BorderFactory.createEtchedBorder());
weekPanel.setLayout(new java.awt.GridLayout(1, 7));

weekPanel.setBorder(javax.swing.BorderFactory.createEtchedBorder());
weekPanel.setPreferredSize(new java.awt.Dimension(20, 20));
sundayLabel.setForeground(new java.awt.Color(255, 0, 0));
sundayLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
sundayLabel.setText("D");
weekPanel.add(sundayLabel);

mondayLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
mondayLabel.setText("S");
weekPanel.add(mondayLabel);

tuesdayLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
tuesdayLabel.setText("T");
weekPanel.add(tuesdayLabel);

wednesdayLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
wednesdayLabel.setText("Q");
weekPanel.add(wednesdayLabel);

thursdayLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
thursdayLabel.setText("Q");
weekPanel.add(thursdayLabel);

fridayLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
fridayLabel.setText("S");
weekPanel.add(fridayLabel);

saturdayLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
saturdayLabel.setText("S");
weekPanel.add(saturdayLabel);

weekAndDaysPanel.add(weekPanel, java.awt.BorderLayout.NORTH);

daysPanel.setLayout(new java.awt.GridLayout(6, 7));

daysPanel.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));
daysPanel.setPreferredSize(new java.awt.Dimension(95, 95));
weekAndDaysPanel.add(daysPanel, java.awt.BorderLayout.CENTER);

add(weekAndDaysPanel, java.awt.BorderLayout.CENTER);

}//

private void initTimer(final boolean b1, final boolean b2, final boolean b3, final boolean b4) {
timer = new Timer(100, new ActionListener() {
public void actionPerformed(ActionEvent evt) {
if(timerFlag > TIME_FROZEN) prepare(b1, b2, b3, b4);
else timerFlag++;
}
});

timer.start();

}

private void terminateTimer() {
timer.stop();
timer = null;
}

private void initArrayOfDays() {
for(int i=0; i<42; i++) {
day[i] = new JLabel();
day[i].setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
day[i].setOpaque(true);
day[i].setBackground(Color.WHITE);
}
}

private void fillDaysPanel(int firstDayOfMonth, int maximumDayOfMonth) {
int index = 1;
daysPanel.removeAll();
initArrayOfDays();

for(int i=0; i<42; i++) {
  if(i+1 >= firstDayOfMonth && index <= maximumDayOfMonth) {
    day[i].setText(String.valueOf(index));
    day[i].setBorder(BorderFactory.createEmptyBorder());
    
    if(index == selectedDay || index == dayOfMonth) {
      day[i].setBorder(BorderFactory.createLoweredBevelBorder());
      
      if(index == selectedDay) {
        day[i].setBackground(Color.GRAY);
        day[i].setForeground(Color.WHITE);
        selectedLabel = day[i];
      }
      else {
        if(i%7 != 0) day[i].setForeground(UIManager.getDefaults().getColor("label.foreground"));
        else day[i].setForeground(Color.RED);
        if(index == dayOfMonth) dayOfMonthLabel = day[i];
      }
    }
    else {
      if(day[i].getText().equals(String.valueOf(selectedDay))) {
        day[i].setBackground(Color.GRAY);
        day[i].setForeground(Color.WHITE);
        selectedLabel = day[i];
      };

      if(day[i].getText().equals(String.valueOf(dayOfMonth))) dayOfMonthLabel = day[i];

      if(day[i] != selectedLabel) {
        if(i%7 != 0) day[i].setForeground(UIManager.getDefaults().getColor("label.foreground"));
        else day[i].setForeground(Color.RED);
      }
    };
    
    final int finalI = i;
    index++;
    
    day[i].addMouseListener(new MouseAdapter() {
      public void mousePressed(MouseEvent evt) {
        if(SwingUtilities.isLeftMouseButton(evt)) {
          configureDayLabels(day[finalI]);
          pressed = true;
        }
      }
      
      public void mouseEntered(MouseEvent evt) {
        if(SwingUtilities.isLeftMouseButton(evt) && pressed) configureDayLabels(day[finalI]);
      }
      
      public void mouseReleased(MouseEvent evt) {
        if(SwingUtilities.isLeftMouseButton(evt)) {
          if(getMousePosition() != null) {
            datePopup.hide();
            DecimalFormat df = new DecimalFormat("00");
            String dayText = df.format(selectedDay);
            String monthText = df.format(gc.get(Calendar.MONTH) + 1);
            String yearText = String.valueOf(gc.get(Calendar.YEAR));
            formattedTextField.setValue(dayText + "/" + monthText + "/" + yearText);
            setSelectedItemToSuperClass(formattedTextField.getValue());
          };
          
          pressed = false;
        }
      }
    });
  };

  daysPanel.add(day[i]);
}

}

private void setDaysAndFill() {
gc.set(Calendar.DAY_OF_MONTH, 1);
int firstDayOfMonth = gc.get(Calendar.DAY_OF_WEEK);
int maximumDayOfMonth = gc.getActualMaximum(Calendar.DAY_OF_MONTH);
gc.set(Calendar.DAY_OF_MONTH, dayOfMonth);
String monthText = month[gc.get(Calendar.MONTH)];
dateLabel.setText(String.valueOf(monthText + ", " + gc.get(Calendar.YEAR)));
fillDaysPanel(firstDayOfMonth, maximumDayOfMonth);
}

private void configureDayLabels(JLabel day) {
if(!selectedLabel.getText().equals(String.valueOf(dayOfMonth)))
selectedLabel.setBorder(BorderFactory.createEmptyBorder());

selectedLabel.setBackground(Color.WHITE);

gc.set(Calendar.DAY_OF_MONTH, Integer.parseInt(selectedLabel.getText()));
if(gc.get(Calendar.DAY_OF_WEEK) != Calendar.SUNDAY)
  selectedLabel.setForeground(UIManager.getDefaults().getColor("label.foreground"));
else
  selectedLabel.setForeground(Color.RED);
gc.set(Calendar.DAY_OF_MONTH, dayOfMonth);

day.setBorder(BorderFactory.createLoweredBevelBorder());
day.setBackground(Color.GRAY);
day.setForeground(Color.WHITE);
selectedLabel = day;
selectedDay = Integer.parseInt(selectedLabel.getText());

}

public void prepare(boolean rollYear, boolean rollMonth, boolean up, boolean instantiateGc) {
if(instantiateGc) gc = new GregorianCalendar();
dayOfMonth = gc.get(Calendar.DAY_OF_MONTH);
if(selectedDay == 0 || instantiateGc) selectedDay = dayOfMonth;
if(rollYear) gc.roll(Calendar.YEAR, up);

if(rollMonth) {
  if((up && gc.get(Calendar.MONTH) == Calendar.DECEMBER) || (!up && gc.get(Calendar.MONTH) == Calendar.JANUARY))
    gc.roll(Calendar.YEAR, up);
  gc.roll(Calendar.MONTH, up);
};

setDaysAndFill();

}

public void prepareDate() {
if(hasValidDate()) {
int d = Integer.parseInt(formattedTextField.getValue().toString().substring(0, 2));
int m = Integer.parseInt(formattedTextField.getValue().toString().substring(3, 5)) - 1;
int y = Integer.parseInt(formattedTextField.getValue().toString().substring(6));
dayOfMonth = gc.get(Calendar.DAY_OF_MONTH);
selectedDay = d;
gc.set(Calendar.MONTH, m);
gc.set(Calendar.YEAR, y);
setDaysAndFill();
}
else
prepare(false, false, false, true);
}

public void stopTimer() {
if(timer != null) timer.stop();
}

private javax.swing.JLabel dateLabel;
private javax.swing.JPanel daysPanel;
private javax.swing.JLabel fridayLabel;
private javax.swing.JLabel mondayLabel;
private javax.swing.JPanel navegatePanel;
private javax.swing.JLabel nextMonth;
private javax.swing.JLabel nextYear;
private javax.swing.JLabel previousMonth;
private javax.swing.JLabel previousYear;
private javax.swing.JLabel saturdayLabel;
private javax.swing.JLabel sundayLabel;
private javax.swing.JLabel thursdayLabel;
private javax.swing.JLabel tuesdayLabel;
private javax.swing.JLabel wednesdayLabel;
private javax.swing.JPanel weekAndDaysPanel;
private javax.swing.JPanel weekPanel;

}

public void setValue() {
if(isValidDate(formattedTextField.getText())) setSelectedItem(formattedTextField.getText());
else formattedTextField.setText(formattedTextField.getValue().toString());
}

public void updateUI() {
ComboBoxUI comboBoxUI = (ComboBoxUI) UIManager.getUI(CalendarComboBox.this);
if(comboBoxUI instanceof MetalComboBoxUI) comboBoxUI = new MetalDateComboBoxUI();
else if(comboBoxUI instanceof MotifComboBoxUI) comboBoxUI = new MotifDateComboBoxUI();
if(comboBoxUI instanceof WindowsComboBoxUI) comboBoxUI = new WindowsDateComboBoxUI();
setUI(comboBoxUI);
}

public boolean selectWithKeyChar(char keyChar) {
return false;
}

public void setEditable(boolean aFlag) {
if(!aFlag) throw new IllegalArgumentException(“no sense in setting editable mode to false”);
}

public void setSelectedItem(Object anObject) {
if(anObject != null) {
if(anObject instanceof String) {
if(isValidDate(anObject.toString()) || anObject.equals("")) {
setSelectedItemToSuperClass(anObject);
formattedTextField.setValue(anObject.toString());
return;
}
};

  throw new IllegalArgumentException("invalid date");
}
else {
  if(showActualDate) {
    formattedTextField.setValue(getTime());
    setSelectedItemToSuperClass(formattedTextField.getValue());
  }
  else {
    formattedTextField.setValue("");
    setSelectedItemToSuperClass("");
  }
}

}

public Date date() {
int d = Integer.parseInt(formattedTextField.getValue().toString().substring(0, 2));
int m = Integer.parseInt(formattedTextField.getValue().toString().substring(3, 5)) - 1;
int y = Integer.parseInt(formattedTextField.getValue().toString().substring(6));
GregorianCalendar gc = new GregorianCalendar();
gc.set(Calendar.DAY_OF_MONTH, d);
gc.set(Calendar.MONTH, m);
gc.set(Calendar.YEAR, y);
return gc.getTime();
}

public boolean hasValidDate() {
return isValidDate(formattedTextField.getValue().toString());
}

}[/code]

escolho a data para o jtextfield e cadastra belza no formato string.

tf1.setText(ccb.getSelectedItem().toString()); String datarecebida= tf1.getText(); .... cadastrarEntrada...

parte de cadastro no banco

[code]public void cadastrarEntrada(EntradaBean entra){

  .......
        pstm.setString(10, entra.getDv());

…[/code]

Uffa! :XD:

http://www.guj.com.br/posts/list/142661.java#769827

[]'s

tche não li teu codigo mas eu faço assim

java.sql.Date datanasc; if (ftfNascimento.getText().trim().equals("/ /")){ datanasc = null; }else{ String x = null; try { x = ftfNascimento.getText(6, 4)+"-"+ftfNascimento.getText(3, 2)+"-"+ftfNascimento.getText(0, 2); } catch (BadLocationException ex) { Logger.getLogger(Clientes.class.getName()).log(Level.SEVERE, null, ex); } datanasc = Date.valueOf(x); }