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.