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

Controls with popups should be disabled by the IME.

XMLWordPrintable

      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


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

              Created:
              Updated:
              Resolved: