【问题标题】:In WebView, perform zoom in and out function while I press + and - key在 WebView 中,按 + 和 - 键时执行放大和缩小功能
【发布时间】:2023-04-04 05:08:01
【问题描述】:

当我在我的应用程序中创建三分之三的 JavaFX 应用程序 WebView 时,我必须在按 + 和 - 键时执行放大和缩小功能。代码如下:

  StackPane root = new StackPane();

        HBox hbox = new HBox(30); // create a HBox to hold 2 vboxes        

        // create a vbox with a textarea that grows vertically
        VBox vbox = new VBox(10);  
        //Label label1 = new Label("");

        final WebView img = new WebView();
         final WebEngine Img = img.getEngine();
         final DoubleProperty zoomProperty = new SimpleDoubleProperty(200);
 img.addEventFilter(KeyEvent.KEY_RELEASED, (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);
            }
        });

通过此代码,我能够听到按键但放大和缩小不起作用。请帮忙,因为我必须将鼠标指针更改为双头箭头,然后听箭头和 + 和 - 键进行放大和缩小。

【问题讨论】:

  • 请为您的问题添加一个有意义的可读标题。不要只是将您的问题复制到您的标题中,反之亦然。 PS:你的键盘上有一个“转变”嘿。考虑使用它。
  • 如果更新 WebView 的缩放属性会发生什么?
  • 什么都没有发生,因为它已经具有鼠标监听器放大和缩小的功能,但我不希望它与鼠标监听器一起使用,我希望它与键监听器一起使用
  • 因为它对我有用,所以我在下面详细说明。

标签: java javafx


【解决方案1】:

看起来您想根据事件更改WebView 的缩放状态,因此您应该更新WebView 本身持有的zoom 属性。从example 开始,我根据您的示例添加了以下EventFilter。它似乎按预期工作。

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

【讨论】:

  • trashgod 如何更改此设置以设置缩放级别,因此当我们缩放第一张图片时,第二张图片应该以相同的级别加载。
  • 也许保存当前的缩放,也许在你当前的Preferences 中为example,所以你可以在需要时恢复它。
猜你喜欢
  • 1970-01-01
  • 2014-05-25
  • 1970-01-01
  • 2017-05-22
  • 1970-01-01
  • 2017-12-05
  • 2016-05-25
  • 1970-01-01
相关资源
最近更新 更多