Problema com JDateChooser, erro ao obter a data [closed]

-2

Estou usando o JDateChooser, mas não consigo recuperar a data em que entro e sempre obtenho um objeto nulo.

dateChooser = new JDateChooser();
Date dateFromDateChooser = dateChooser.getDate();
String dateString = String.format("%1$td-%1$tm-%1$tY", dateFromDateChooser);
System.err.println("IHI date string  " + dateString);

Isso é o que eu obtenho no console:

IHI date string  null-null-null
    
por imn 06.05.2015 / 12:00

1 resposta

1

O método dateChooser.getDate() retorna null . Você acabou de instanciar o objeto dateChooser , mas nunca atribuiu um objeto Date.

Esta é a implementação do método getDate() em JDateChooser.java

/**
 * Returns the date. If the JDateChooser is started with a null date and no
 * date was set by the user, null is returned.
 * 
 * @return the current date
 */
public Date getDate() {
    return dateEditor.getDate();
}

Em seguida, o método estático String.format em seu código também aceita null para o segundo parâmetro, por exemplo:

String dateString = String.format("%1$td-%1$tm-%1$tY", null);
System.err.println("IHI date string  " + dateString);

Saída:

IHI date string  null-null-null

Baseado no seu código , um exemplo insensato, mas prático, é este.

public static void main(String[] args) {
    JDateChooser dateChooser = new JDateChooser();
    dateChooser.setDate(new Date());
    Date dateFromDateChooser = dateChooser.getDate();
    String dateString = String.format("%1$td-%1$tm-%1$tY", dateFromDateChooser);
    System.err.println("IHI date string  " + dateString);
}

Saída:

IHI date string  06-05-2015

Defina uma data na sua GUI antes de ler uma data ou definir uma data padrão.

    
por A.B. 06.05.2015 / 12:29