2017-10-07 44 views
0

我想使用缩放和裁剪在JavaFX的webview使用键+缩小和 - 缩放和空间的裁剪和F5的作物图像保存在我的应用程序im从一个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); 

从该即时通讯能够检测的关键,但变焦不working.First我必须要改变箭头指针到双箭头,然后+键将缩小(ZoomOut)和 - 键zoomin。请帮助,因为我调试即时通讯能够检测到按键时按下加减键,但我想执行缩放但它不能在webview中工作。

回答

0

我已经解决了我自己的问题,因为我只是没有将缩放属性添加到webview。

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); 
      } 
     });