Circle
이 마우스 이벤트가 '스트로크'일 때만 마우스 이벤트에 응답하려고합니다. 즉 경계를 의미합니다. 물론 원에는 투명한 채우기와 다채로운 획이 있습니다. 확장 JavaFX Path
은 나에게 고통스러운 것처럼 보입니다.이 Circle
클래스를 사용하면 어떤 방식 으로든 그렇게 할 수 있습니까?투명한 채우기 원을 마우스 이벤트로 가져 오는 것을 중지하는 방법은 무엇입니까?
2
A
답변
2
귀하의 솔루션은 자바 9에서 더 이상 작동하지 않고 귀하의 경우 그냥 원의 채우기가 null로 설정할 수 있습니다. 이것은 동일한 효과를 가져야합니다.
0
이 솔루션은 Java 9에서 작동하지 않습니다. 마지막으로 나는 훌륭한 방법을 발견했습니다. 그것은 미래에 다른 사람을 도울 수
javafx.scene.shape.Shape
클래스가 사용되지 않는 방법 다른 방법 이제 computeShapeContains(localX, localY, impl_configShape())
를 호출
boolean impl_computeContains(double localX, double localY)
을 가지고, 장면 그래프는 포인트가 모양인지 여부 결정 그 impl_computeContains 메소드를 호출 JavaFX.scene.Node에서
boolean contains(double localX, double localY)
방법으로. 그래서 impl_computeContains이 같은 mthod 그 방법을 살펴했고 오버라이드 :
@Override
protected boolean impl_computeContains(double localX, double localY) {
float miterlimit =
(float) Utils.clampMin(getStrokeMiterLimit(), 1.0f);
return Toolkit.getToolkit().strokeContains(impl_configShape(), localX, localY, getStrokeType(),
Utils.clampMin(getStrokeWidth(), 0.0f), getStrokeLineCap(), getStrokeLineJoin(), miterlimit);
}
및 붐! 그것은 작동! 내가 한 일은 포인트가 도형의 내부 부분에 있다면 무엇을해야하는지 구현 한 부분을 제거했습니다.
와우! 나는 훨씬 더 좋은 아이디어가 있다는 것을 알았다. 얼마나 멋진가! 고마워. –