Java Swing Gui Hour Glass
-
20-09-2019 - |
문제
이있다 JTabbedPane
내 그네 프로그램. 사용자가 탭을 클릭하면 프로그램이 데이터를 가져오고 결과를 처리하는 데 시간이 걸린 다음 선택한 탭에서 결과를 표시합니다.
한 시간 유리 또는 그 효과의 무언가를 어떻게 표시 할 수 있습니까? 따라서 사용자가 데이터를 처리하고 있음을 알고 있습니까? 작업을 마치기 전에 탭을 다시 클릭하지 마십시오.
해결책
ㅏ Jprogressbar (아마도 불확실한 모드에서) 올바른 소리 - 데이터가 가져올 때까지 탭에 넣으십시오. 잘 설계된 UI는 사용자가 장기 실행 작업이 완료되기를 기다리지 말고 대신 그 사이에 다른 일을하도록 강요해서는 안됩니다.
다른 팁
SetCursor (int)는 더 이상 사용되지 않습니다. 이것은 아마도 조금 더 깨끗 할 것입니다 :
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
다른 답변에서 언급했듯이 대기 커서를 설정할 수 있지만 추가 마우스 클릭을 방지하는 것도 언급됩니다. 유리창을 사용하여 긴 작동이 완료 될 때까지 구성 요소의 클릭을 방지 할 수 있습니다. 여기에 덧붙여 선 튜토리얼 유리창에는 좋은 예가 있습니다. http://www.java2s.com/code/java/swing-jfc/demonstrateuseofglasspane.htm
나는 다른 언급 된대로 할 것이다
- 커서를 변경하십시오
- 스윙 워크를 사용하십시오
- Glasspane에 ProgressBar 또는 애니메이션 이미지를 표시합니다.
- 작업이 완료되면 유리판을 숨 깁니다
- 기본 커서를 복원하십시오
제휴하지 않습니다 StackOverflow