Formatar campo de Data na interface, podendo ser US ou BR

Estou tentando fazer uma aplicação que seja facilmente convertida para diversas línguas.

Tenho um problema com a formatação de datas, que serão digitadas no formato 99/99/9999, mas dependendendo da localização, pode ser dd/mm/aaaa ou mm/dd/aaaa (EUA).

Eu quero que seja baseado no Locale, fazendo tudo de forma praticamente automatica, nada de IFs e ElSEs.

Eu consegui fazer, mas acabo usando métodos da classe Date que estão depreciados (deprecated). O código é mais ou menos assim:

    String text = dataField.getText();
    // Cria baseado no Locale atual.
    SimpleDateFormat formatter = new SimpleDateFormat();
    Date data = null;
    try {
        data = formatter.parse(text);
    } catch (ParseException ex) {
        ex.printStackTrace();
    }
    Calendar calendar = null;
    if (data != null) {
        calendar = new GregorianCalendar();
        calendar.set(Calendar.DAY_OF_MONTH, data.getDate());
        calendar.set(Calendar.MONTH, data.getMonth());
        calendar.set(Calendar.YEAR, data.getYear());
    }

Alguém sabe como fazer sem usar métodos deprecated? Eu odeio Warnings :stuck_out_tongue:

Obrigado

Obs.: Tem um tópico que fala de algo parecido
http://www.guj.com.br/posts/list/43369.java

ok… descobri.

DateFormat formatter = new DateFormat(DateFormat.SHORT, Locale.getDefault());
Date data = null;
try {
  data = formatter.parse(text);
} catch (ParseException ex) {
  ex.printStackTrace();
}
Calendar calendar = null;
if (data != null) {
  calendar = new GregorianCalendar(); 
  calendar.setTime(data);
}