그사이에 많은 일이 있었다
요일이 추가된 파일을 받아서
날짜를 출력했는데 보니 맞지 않았다...
그래서 다시 찾다
reservationService
현재 날을 구한다
LocalDate today=LocalDate.now().plusMonths(plusMonth);
날에 맞는 월의 마지막 날을 구한다
YearMonth yearMonth=YearMonth.from(today);
int lastDay=yearMonth.lengthOfMonth();
월의 첫 시작일을 구한다
LocalDate date = LocalDate.of(today.getYear(),today.getMonthValue(),1);
DayOfWeek dayOfWeek = date.getDayOfWeek();
시작 칸 아이디를 위해 변수에 담아준다
start=dayOfWeek.getValue();
미뤄진 만큼 마지막 날+미뤄 진일수를 해준다
int endDayIdOfMonth=lastDay+start;
시작일 전 버튼들 disable+x표시
for(int i=1;i<start;i++) {
Button button=(Button) reservationForm.lookup("#day"+i);
button.setText("x");
button.setDisable(true);
}
시작일부터 날짜 표시 시작
for(int i=start;i<endDayIdOfMonth;i++) {
Button button=(Button) reservationForm.lookup("#day"+i);
button.setText(Integer.toString(temp));
if(checkFullDay(stringToTimestamp(today.getMonthValue()+"",temp))||compareDate(stringToTimestamp(today.getMonthValue()+"", temp),LocalDateTime.now())) {
System.out.println(i+"일은 예약이 다 찼거나 지난 요일입니다");
button.setDisable(true);
}
temp+=1;
}
뒤에 남은 버튼들 disable+x
if(endDayIdOfMonth<lastDayIdNumber) {
for(int i=endDayIdOfMonth;i<=lastDayIdNumber;i++) {
Button button=(Button) reservationForm.lookup("#day"+i);
button.setText("x");
button.setDisable(true);
}
}
checkFullDay(stringToTimestamp(today.getMonthValue()+"",temp))||compareDate(stringToTimestamp(today.getMonthValue()+"", temp),LocalDateTime.now())
이런 검증 함수는 뒤에서 설명했으니 패스!
테스트
어이쿠 하나가 푸른색인데 나중에 고쳐주자
날짜에만 집착해서 요일을 생각 못했었다
요일이 들어오고 나니 큰일 났다.. 이 생각만 했었지만
정신 차리고 생각대로 다시 차근차근했더니
성공했다 ㅠㅠㅠ
기분이 너무 좋다
'javaFx > 달력' 카테고리의 다른 글
javaFx 예약시스템 예약하기! (0) | 2021.08.11 |
---|---|
javaFx 예약시스템 시간표시해주기! (0) | 2021.08.11 |
javaFx 예약시스템 날짜표시해주기!(2) with oracleDB (1) | 2021.08.08 |
javaFx 예약시스템+날짜표시해주기(1) with sceneBuilder (0) | 2021.08.08 |
첫 팀프로젝트 (0) | 2021.08.08 |