2017-10-07 22 views
0

JavaFx의 webview에서 확대/축소를 위해 key +를 사용하여 줌 및 자르기를 사용하고 확대/축소 및 자르기를 위해 공간을 사용하고 응용 프로그램에서 자르기 이미지를 저장하기 위해 F5를 사용합니다. 하나의 webview에서 이미지를 다른 곳으로 옮기기 키를 감지 할 수 있지만, 줌이 메신저에서JavaFx의 webview에서 키 수신기를 사용하여 줌 및 자르기 기능을 사용하는 방법?

final WebView img = new WebView(); 
    final WebEngine Img = img.getEngine(); 
    final DoubleProperty zoomProperty = new SimpleDoubleProperty(200); 
    img.addEventFilter(KeyEvent.KEY_PRESSED, (KeyEvent e) -> { 
     if (e.getCode() == KeyCode.ADD || e.getCode() == KeyCode.EQUALS || e.getCode() == KeyCode.PLUS) { 
      System.out.println("YES"); 
       zoomProperty.set(zoomProperty.get() * 1.1); 
     } 
     else if(e.getCode()== KeyCode.SUBTRACT||e.getCode() == KeyCode.MINUS){ 
      System.out.println("YES"); 
      zoomProperty.set(zoomProperty.get()/1.1); 
     } 
    }); 
    vbox.getChildren().addAll(img); 

은 내가 향하고있는 화살표를 두 배로 화살표 포인터 커서를 변경해야하고 + 키를 zoomout 것이다 working.First 아니다 - 키 zoomin됩니다. 내가 키를 눌렀을 때 추가 및 빼기 키를 감지 할 수있는 디버그 메신저했지만 난 줌을 수행하고 싶습니다 도움을 주시기 바랍니다하지만 그 webview에서 작동하지 않습니다.

답변

0

내 답변은 웹보기에 줌 속성을 추가하지 않고서 스스로 해결했습니다.

img.addEventFilter(KeyEvent.KEY_RELEASED, (KeyEvent e) -> { 
      if (e.getCode() == KeyCode.ADD || e.getCode() == KeyCode.EQUALS || e.getCode() == KeyCode.PLUS) { 
       System.out.println("YES"); 
        img.setZoom(img.getZoom() * 1.1); 
      } 
      else if(e.getCode()== KeyCode.SUBTRACT||e.getCode() == KeyCode.MINUS){ 
       System.out.println("YES"); 
       img.setZoom(img.getZoom()/1.1); 
      } 
     });