Bom dia Pessoal! Sou novo em Java e estou apanhando um pouco. Criei uma tela com dois TextField um Label e um button. Gostaria de poder inserir uma data em cada TextField e calcular os dias entre as datas e informar no Label. Porém não estou conseguindo pegar os textos do TextField e nem colocar o resultado no Label. O código para conta consegui fazer, poderiam me ajudar? obrigado!
DateTime data1 = new DateTime(2019, 03, 30, 0, 0);
DateTime data2 = new DateTime(2019, 04, 30, 0, 0);
Days d = Days.daysBetween(data1, data2);
System.out.println("Diferença de Dias: " + d.getDays());
Para recuperar valor do jTextField basta você fazer o seguinte:
seuFiled.getText(); //Vai retornar a string digitada no campo
Para exibir o valor no jLabel:
seuLabel.setText(stringQueDesejaExibir); //Seta a string desejada no label
Porém se você já está trabalhando com interface gráfica, aconselho utilizar o jDateChooser, que é um componente próprio para trabalhar com datas, com ele você não precisa ficar fazendo conversões de dados desnecessários, se der uma rápida pesquisada no Google tu vai encontrar bastante conteúdo sobre o assunto.
2 curtidas
Obrigado, Jonathan! Vou estudar sobre jDateChooser.
Consegui setar e receber os dados com conversão de String.
Também consegui formatar para “dd/MM/yyyy”.
Segue:
private void btnCalcActionPerformed(java.awt.event.ActionEvent evt) {
DateTimeFormatter fmt = DateTimeFormat.forPattern("dd/MM/yyyy");
DateTime d1 = fmt.parseDateTime(txtD1.getText());
DateTime d2 = fmt.parseDateTime(txtD2.getText());
Days d = Days.daysBetween(d1, d2);
lblDias.setText(Integer.toString(d.getDays()));
}