1
Picker에서 actionListener를 사용하면 취소 btn이 예상대로 작동하지 않습니다. 처음에는 선택기를 취소하면 getSelectedStringIndex가 -1을 제공합니다. 첫 번째 클릭 한 다음 확인을 클릭하면 인덱스 0을 제공합니다. 여기서 취소를 클릭 할 때마다 인덱스 0을 반환합니다. 취소를 클릭하면 -1이 반환됩니다. 어떻게 해결할 수 있습니까?피커 기능이 예상대로 작동하지 않습니다.
코드 :
periodPicker.addActionListener(e -> {
String periodString = "";
if (periodPicker.getSelectedStringIndex() == 0) {
periodString = "3";
} else if (periodPicker.getSelectedStringIndex() == 1) {
periodString = "6";
}
if (!periodString.equals("")) {
System.out.println("index " + periodPicker.getSelectedStringIndex());
}
}
사용자가 피커에서 취소 또는 확인 버튼을 클릭하는지 어떻게 알 수 있습니까? 내가 그곳에서 웃음 거리를 얻을 수 있다면, 나는 그것이 효과가 있다고 생각합니다. – beck
피커에서 반환 한 값과 이전 값을 비교하여이 문제를 해결하고 변경이 없으면 선택기 작업을 무시합니다. –
일반적으로 네이티브 피커 API는 취소의 경우 기본값을 반환해야하지만 '표시'에있는 장치 API에만 적용됩니다. 내가하고 싶은 일 중 하나는 안드로이드 스타일의 네이티브 피커를 순수 자바로 구현하여 사람들이 적절하게 커스터마이징하고 테마를 정할 수 있도록하는 것입니다. 불행히도, 그것은 약간의 작업입니다 ... –