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

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

    XMLWordPrintable

Details

    • b25
    • generic
    • 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

              mfox Martin Fox
              webbuggrp Webbug Group
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: