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

[FXCanvas] SWT IME is not implemented

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: P4 P4
    • tbd
    • 8u20, 8u25
    • javafx
    • Windows 8, Windows Server 2012

      Using FXCanvas causes Windows 8 IME to show input field outside of the application window, when typing inside TextField.


      Test code:

      import javafx.embed.swt.FXCanvas;
      import javafx.scene.Scene;
      import javafx.scene.control.TextField;
      import org.eclipse.swt.SWT;
      import org.eclipse.swt.layout.FillLayout;
      import org.eclipse.swt.widgets.Display;
      import org.eclipse.swt.widgets.Shell;

      public class FXCanvasBug {
          public static void main(String[] args) {
              Display display = new Display ();
              Shell shell = new Shell(display);
              FXCanvas canvas = new FXCanvas(shell, SWT.EMBEDDED);
              shell.setLayout(new FillLayout());
              canvas.setScene(new Scene(new TextField("Type here"), 200, 100));
              shell.open();
              while (!shell.isDisposed ()) {
                  if (!display.readAndDispatch ()) display.sleep ();
              }
              display.dispose ();
          }
      }



      Bugged input: http://imageshack.com/a/img674/9017/hKsFZf.png
      Normal input: http://imageshack.com/a/img661/4255/hwdCiO.png (text should appear inside textField)

      The version with normal input is made inside Eclipse RCP 4.4, with SWT_AWT + JFXPanel to replace FXCanvas. But it only works inside Eclipse RCP, not as standalone application. It's not really usable due to serious flickr that happens to SWT_AWT bridge.

            Unassigned Unassigned
            aqdjfx AqD (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Imported: