DateTimeField 구성 요소에는 날짜 (년, 월, 일)와 시간 (시, 분, 초)이 모두 표시됩니다. 이제 데이트를하고 싶지 않습니다. 보여 주기만하고 시간을 얻을 수있는 아이디어 (시 : 분 : 초)?Vaadin 8에서 DateTimeField 사용자 지정
1
A
답변
1
TL; DR
없음 내장 방법은 Vaadin이 8.1로, 시간의 일 만 표시합니다.
직접 만들 수 있습니다.
세부
기존 DateTimeField
]() 위젯은 기존에게 날짜 및 시간의 일 플러스 시간대의 조합이다 GregorianCalendar
클래스를 지원합니다. 그래서 시간의 유일한 가치에 유용하지 않습니다.
불행히도, Vaadin 8.1부터는 번들 필드 위젯이 java.time.LocalTime
과 같은 java.time 유형에 대해 아직 업데이트되지 않은 것으로 보입니다. 지능형 LocalTime
-savvy 필드의 부족에 대한 해결 방법으로
- 가 date-time-fields Add-on를 사용해보십시오.
애드온은 Vaadin 관련 기능의 일부를 전달하기 위해 Vaadin 프로젝트에 추가 할 수있는 확장 프로그램입니다. 애드온은 시각적 위젯과 관련되거나 비 시각적 백엔드 기능 일 수 있습니다. 이와 같이 시각적 인 경우 위젯 세트를 다시 만들려면 프로젝트를 다시 빌드해야 할 수 있습니다. 아마도 Mavenclean
과install
(이것에 대한 기술이 다양한 Vaadin 릴리즈에서 계속 변하고있는 것은 확실하지 않음). - 직접 만드십시오. 일반 텍스트 필드를 사용하십시오. 사용자 입력 parses을
LocalTime
개체로 확인하는 유효성 검사기를 작성합니다. Vaadin 특정 유효성 검사기 또는 표준 Bean Validation 유효성 검사기를 작성할 수 있습니다. How to add Validators in Vaadin 8을 (를) 참조하십시오.
예 여기
은 자신의 LocalTime
-savvy 필드를 만들기위한 몇 가지 거친 코드입니다. 이것은 결코 완벽한 것은 아니지만 올바른 방향으로 안내 할 수 있습니다.
final Label whenLabel = new Label("when?");
final TextField whenField = new TextField();
whenField.setCaption("When:");
whenField.setValueChangeMode(ValueChangeMode.BLUR);
whenField.addValueChangeListener(new HasValue.ValueChangeListener <String>()
{
static final long serialVersionUID =0L;
@Override
public void valueChange (HasValue.ValueChangeEvent <String> valueChangeEvent)
{
String input = whenField.getValue();
System.out.println("input: " + input);
try
{
// DateTimeFormatter f = DateTimeFormatter.ISO_LOCAL_TIME; // Constant ISO_LOCAL_TIME is for time-of-day in standard ISO 8601 format.
// DateTimeFormatter f = DateTimeFormatter.ofLocalizedTime(FormatStyle.SHORT).withLocale(Locale.CANADA_FRENCH); // Automatically localize.
DateTimeFormatter f = DateTimeFormatter.ofLocalizedTime(FormatStyle.SHORT).withLocale(Locale.US); // Automatically localize.
LocalTime localTime = LocalTime.parse(input , f);
String timeIso8601 = localTime.toString();
whenLabel.setValue(timeIso8601);
} catch (DateTimeParseException e)
{
whenLabel.setValue(e.getClass().getCanonicalName());
System.out.println("ERROR - failed to parse input: " + input);
}
}
});
관련 문제
- 1. 스타일 지정 개찰표 datetimefield
- 2. 어떻게 vaadin 테이블에 사용자 지정 정렬기를 설정합니까?
- 3. Vaadin DateField의 사용자 지정 일정 시스템
- 4. wicket에서 사용자 입력 받기 DateTimeField
- 5. Vaadin FormLayout 서식 지정
- 6. vaadin 8에서 텍스트 필드를 바인딩하는 방법은 무엇입니까?
- 7. vaadin 6에서 사용자 정의 vaadin 구성 요소를 만드는 방법
- 8. 는 DateTimeField
- 9. 장고 DateTimeField
- 10. Vaadin 모든 사용자 선택
- 11. Vaadin 요소 Vaadin-grid 사용자 정의 렌더러 (API 2 이상)
- 12. Vaadin 디자이너 테마 선택기가 사용자 지정 테마를 지원하지 않습니다
- 13. Windows 8에서 사용자 지정 글꼴이 사용되지 않습니다. XAML
- 14. drupal 8에서 파일을 끌어다 놓을 사용자 지정 모듈이 있습니까?
- 15. Vaadin 8에서 CustomComponent 캡션의 스타일을 바꿀 수 있습니까?
- 16. Opera와 유사한 사용자 인터페이스 - Vaadin
- 17. Vaadin 테이블에서 다중 사용자 작업
- 18. Django IntegrityError with DateTimeField
- 19. mongoengine으로 DateTimeField 저장하기
- 20. django fixtures DateTimeField runtimeWarning
- 21. django queryset filter datetimefield
- 22. Oracle에서 Django의 DateTimeField 사용
- 23. 장고 - 설정 DateTimeField 기본값은
- 24. 오류 dateTimeField 입력 형식
- 25. 장고 DateTimeField 값이
- 26. Django : Join on DateTimeField
- 27. wtforms datetimefield 유효성 확인
- 28. 시간대 및 DateTimeField - Django
- 29. Django DateTimeField 입력 양식
- 30. 사용자 지정 사용자 지정