У меня есть программа для кемпинга, которая имеет диалоговое окно, в котором пользователь вводит дату, которую они должны проверить, и дату, которую они планируют проверить в текстовое поле. Как только они нажимают ok в диалоговом окне, даты, которые они вводят, должны быть доступны для просмотра в JTable. В настоящее время в столбце даты я получаю java.utl.GregorianCalendar [время .... и т. Д.], Когда пользователь нажимает ok. Другая информация, такая как имя, дни пребывания и номер сайта, выглядит нормально. Очевидно, что это неправильное форматирование даты, но я не уверен, как это исправить. Вот код для григорианского календаря в классе DialogCheckInTent:Java-григорианское форматирование календаря
public GregorianCalendar getDateIn(){
DateFormat df = new SimpleDateFormat("MM/dd/yyyy");
GregorianCalendar g = new GregorianCalendar();
try{Date date = df.parse(dateIn.getText());
g.setTime(date);
}
catch (ParseException ex) {
ex.printStackTrace();
}
return g;
}
public GregorianCalendar getCheckOutDate(){
DateFormat df = new SimpleDateFormat("MM/dd/yyyy");
GregorianCalendar g = new GregorianCalendar();
try{Date date = df.parse(checkOutTxt.getText());
g.setTime(date);
}
catch (ParseException ex) {
ex.printStackTrace();
}
return g;
}
Приведенный выше код используется в этом методе в графическом интерфейсе, когда пользователь нажал нормально.
if (pressed == checkInTentItem) {
newTent.clear();
newTent.setVisible(true);
if (model.getRowCount() < 5) {
if (newTent.isOk()) {
String nameReserving = newTent.getNameReserve();
GregorianCalendar checkIn = newTent.getDateIn();
int daysStaying = newTent.getDaysStaying();
GregorianCalendar checkOutOn = newTent.getCheckOutDate();
int siteNumber = newTent.getSiteNumber();
int tenters = newTent.getTenters();
Tent tent = new Tent(nameReserving, checkIn, daysStaying,
checkOutOn, siteNumber, tenters);
model.add(tent);
}
}
else {
JOptionPane.showMessageDialog(frame, "All sites are full.",
" ", JOptionPane.INFORMATION_MESSAGE);
}
}
Все скомпилировано без проблем, но дата просто не работает. Как это исправить?
общественного недействительными actionPerformed (ActionEvent EVT) { \t \t Объект нажата = evt.getSource(); – TABmayfield
Я изменил форматирование на MM, но все равно получаю ту же ошибку. – TABmayfield
Объект не должен проверяться на равенство '==', используйте 'equals()' с правильной реализацией метода 'equals()' –