Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8189282

JavaFX: Invalid position of candidate pop-up of InputMethod in Hi-DPI on Windows

    Details

    • Subcomponent:
    • CPU:
      generic
    • OS:
      windows

      Description

      FULL PRODUCT VERSION :
      java version "9"
      Java(TM) SE Runtime Environment (build 9+181)
      Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode)

      ADDITIONAL OS VERSION INFORMATION :
      Windows 10

      EXTRA RELEVANT SYSTEM CONFIGURATION :
      HIDPI Display

      A DESCRIPTION OF THE PROBLEM :
      Invalid display position of candidate pop-up of InputMthod in HIDPI environment of WIndows.

      The problem that the display position of this InputMethod becomes incorrect thinks that the cause is different,
      This phenomenon occurs frequently.



      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      1. Start up the attached program.
      2. Enter Japanese
      3. Please check the position of conversion candidate.

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      The popup is under the input cursor.
      ACTUAL -
      The popup is on the upper left of the input cursor.

      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      import javafx.application.Application;
      import javafx.scene.Scene;
      import javafx.scene.control.TextArea;
      import javafx.scene.control.TextField;
      import javafx.scene.layout.VBox;
      import javafx.scene.web.WebView;
      import javafx.stage.Stage;

      public class InputMethodTest extends Application{

      @Override
      public void start(Stage primaryStage) throws Exception {

      WebView webView = new WebView();
      webView.getEngine().loadContent("<html><body><div><input/><div><textarea rows=10 cols=80></textarea></div>");

      VBox root = new VBox(16, new TextField(), new TextArea(), webView);

      Scene scene = new Scene(root, 600, 600);
      primaryStage.setScene(scene);
      primaryStage.show();

      }

      public static void main(String[] args) {
      Application.launch(args);
      }
      }
      ---------- END SOURCE ----------

      CUSTOMER SUBMITTED WORKAROUND :
      This problem can be avoided by turning off the HIDPI mode.

      -Dprism.allowhidpi=false

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                kcr Kevin Rushforth
                Reporter:
                webbuggrp Webbug Group
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated: