나는 많은 탭이 포함 된 탭 창이 있습니다 (분명히). 일반적으로 탭에서 setOnSelectionChanged()
을 호출하여 각 탭에 리스너를 설정할 수 있습니다. 그러나 TabPane이 어떤 방식 으로든 재구성되는 경우 탭 패널은 목록의 첫 번째 탭을 자동으로 선택합니다. 이것은 마우스 클릭으로 탭이 선택되었는지 알 수있는 방법이 있는지 알고 싶습니다. 그래서 성능 문제가 발생했습니다. 분명히 탭에는 onMouseClick()
명의 청취자가있을 수 없습니다.JavaFX 마우스 클릭이 트리거되었는지 확인하는 방법 탭 선택
1
A
답변
1
탭이 실제로 노드가 아니고 마우스 클릭 리스너가 없기 때문에 대답에 대한 해결책을 찾지 못해도 성능 문제가 해결되었습니다.
탭을 변경할 때 전체보기를 (게으르게) 다시 작성하고보기에 모델을 적용했습니다. 이로 인해 탭이 변경 될 때마다 약 140ms 이상의 지연이 발생했습니다. 올바른 탭을 찾기 위해 검색 상자를 구현할 때 큰 문제였습니다. 탭이 검색에서 다시 만들어지기 때문에 탭 선택이 변경되면보기가 다시 만들어지기 때문입니다 (탭 창은 새 탭을 추가 할 때 첫 번째 탭을 자동으로 선택합니다.).
궁극적으로 설계자는 컨트롤러가 뷰를 한 번 만들고 뷰를 다시 만들지 않고 탭을 변경 한 것처럼 모델을 뷰포트에 연결하는 것으로 변경되었습니다.
나는 매우 당신은 성능 문제가 발생하고 MVC/자바 FX 프로그래밍 비교적 새로운 있다면이 게시물을보고 추천 :
현재 탭이 약 상당한 개선이 15ms의을 변경 !
관련 문제
- 1. 마우스 클릭이 요소 안에 있는지 확인하는 방법
- 2. 마우스 클릭이 처리되었는지 확인
- 3. 제목 표시 줄에서 마우스 클릭이 수행되었는지 확인하는 방법
- 4. 마우스 클릭이 그래픽 이미지 위에 있는지 확인하는 방법 Java
- 5. Javafx Choicebox - 선택/활성화 여부를 확인하는 방법
- 6. 변경 감지가 구성 요소에서 트리거되었는지 확인하는 방법
- 7. CruiseControl.NET에서 어떤 프로젝트가 트리거되었는지 확인하는 방법
- 8. 해제 마우스 오른쪽 버튼으로 클릭이
- 9. 마우스 클릭이 요소 전후인지 감지
- 10. streamDestroyed 이벤트가 session.disconnect() 또는 브라우저 닫기에 의해 트리거되었는지 확인하는 방법
- 11. 보조 마우스 버튼에 마우스 이벤트 추가하기 Javafx
- 12. 다중 선택 tableView javafx
- 13. JavaFX ListView 다중 선택
- 14. JavaFX 화재 닫기 탭 이벤트
- 15. Javafx : 탭 니모닉 설정
- 16. 클릭이 선택 해제/체크 박스
- 17. WxPython - 마우스 클릭이 GUI에서 인식되지 않음
- 18. 마우스 클릭이 발생한 html 요소를 가져 옵니까?
- 19. Memu 에뮬레이터에서 Python 마우스 클릭이 작동하지 않습니다.
- 20. 마우스 클릭이 무비 클립에 없는지 확인
- 21. CreateJS Animate CC - 마우스 클릭이 작동하지 않음
- 22. JavaFX CSS : 탭 패널 탭 설정 방법 - 너비, 높이
- 23. javafx : javafx 텍스트 필드 용 addEventHandler를 사용하여 시간을 확인하는 방법
- 24. 탭 선택 테두리 제거
- 25. 탭 패널에서 탭 선택
- 26. JavaFX 2 차단 마우스 속성
- 27. JavaFx TableView에서 스크롤 막대가 표시되는지 확인하는 방법
- 28. JavaFx 1 시간마다 시간을 확인하는 방법
- 29. 탭 컨트롤 마우스 위로
- 30. Silverlight의 마우스/탭 이벤트
먼저 성능 문제를 해결할 가치가 있습니다. – trashgod
그래, 지난 2 일 동안 그렇게 해보려고했지만 상당한 개선이 있었지만 여전히해야 할 일이 있습니다. 이것은 나가 탐구하고 있던 도로이었다. 위의 작업을 수행하거나 탭 패널에서 처음부터 아무 것도 선택하지 않도록 할 수있는 방법이 있었으면 좋겠다. –
보기에서 모델 문제를 해결하려고하는 것 같습니다. 대신 'javafx.concurrent.Worker'를 사용하고 관련 속성을 업데이트하여 탭 선택이 지연되지 않도록하십시오. – trashgod