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

Controls with popups should be disabled by the IME.

    XMLWordPrintable

Details

    Description

      ADDITIONAL SYSTEM INFORMATION :
      macOS 13.6.6
      Java 21.0.3


      A DESCRIPTION OF THE PROBLEM :
      New IME input problems since JDK-8320912 changes.

      After applying this change, the IME cannot be typed after the small window is displayed.
      Even basic applications that use ContextMenu, ChoiceBox, ComboBox, MenuButton, etc. are affected.
      The impact of this problem will be perceived as block level in the IME usage environment.

      This problem is no longer reproduced by reverting the changes in JDK-8320912.
      However, since JDK-8301900 depends on the changes in JDK-8320912, 8301900 was also reverted.

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      1. launch the test application
      2. display a selection list such as ChoiceBox, ComboBox, MenuButton, ContextMenu, etc. and select an item.
      Input (Japanese) characters into TextField and TextArea using IME.

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      You can enter characters with IME.
      ACTUAL -
      Cannot input text with IME

      ---------- BEGIN SOURCE ----------
      import javafx.application.Application;
      import javafx.scene.Scene;
      import javafx.scene.control.ChoiceBox;
      import javafx.scene.control.ComboBox;
      import javafx.scene.control.Label;
      import javafx.scene.control.MenuButton;
      import javafx.scene.control.MenuItem;
      import javafx.scene.control.TextArea;
      import javafx.scene.control.TextField;
      import javafx.scene.layout.HBox;
      import javafx.scene.layout.VBox;
      import javafx.stage.Stage;

      public class ImeTest extends Application{

      enum Items {
      A,
      B,
      C
      }

      @Override
      public void start(Stage primaryStage) throws Exception {
      ChoiceBox<Items> choiceBox = new ChoiceBox<>();
      ComboBox<Items> comboBox = new ComboBox<>();
      MenuButton menuButton = new MenuButton();

      menuButton.getItems().addAll(new MenuItem("1"), new MenuItem("2"));
      choiceBox.getItems().addAll(Items.values());
      comboBox.getItems().addAll(Items.values());

      VBox root = new VBox(
      new Label("1. Select any of the following control items."),
      new HBox( 8, choiceBox, comboBox, menuButton),
      new Label("2. Entering text with the IME."),
      new HBox(8, new TextField(), new TextArea()));

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

      }

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

      FREQUENCY : always


      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              webbuggrp Webbug Group
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: