A DESCRIPTION OF THE PROBLEM :
I create Popup having ScrollPane with Buttons. Popup is show over Window having TextField. After Popup shown TextField key events of codes LEFT, RIGHT, HOME, END have no effect.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Run the test application. Type in some text. Try to use left arrow, right arrow, home, end buttons.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Caret position changes.
ACTUAL -
Caret position does not change.
---------- BEGIN SOURCE ----------
import javafx.application.Application;
import javafx.geometry.Point2D;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.TextField;
import javafx.scene.input.KeyEvent;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.VBox;
import javafx.stage.Popup;
import javafx.stage.Stage;
public class PopupApp extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage stage) throws Exception {
TextField textField = new TextField();
StackPane stackPane = new StackPane(textField);
stage.setScene(new Scene(stackPane));
stage.show();
ScrollPane scrollPane = new ScrollPane(new VBox(new Button("Option1"), new Button("Option2")));
Popup popup = new Popup();
popup.getContent().add(scrollPane);
Point2D pinPoint = textField.localToScreen(0., textField.getHeight());
popup.show(textField, pinPoint.getX(), pinPoint.getY());
textField.addEventHandler(KeyEvent.KEY_RELEASED, event -> {
System.out.println("KEY_RELEASED " + event);
});
textField.addEventHandler(KeyEvent.KEY_PRESSED, event -> {
System.out.println("KEY_PRESSED " + event);
});
}
};
---------- END SOURCE ----------
FREQUENCY : always
I create Popup having ScrollPane with Buttons. Popup is show over Window having TextField. After Popup shown TextField key events of codes LEFT, RIGHT, HOME, END have no effect.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Run the test application. Type in some text. Try to use left arrow, right arrow, home, end buttons.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Caret position changes.
ACTUAL -
Caret position does not change.
---------- BEGIN SOURCE ----------
import javafx.application.Application;
import javafx.geometry.Point2D;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.TextField;
import javafx.scene.input.KeyEvent;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.VBox;
import javafx.stage.Popup;
import javafx.stage.Stage;
public class PopupApp extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage stage) throws Exception {
TextField textField = new TextField();
StackPane stackPane = new StackPane(textField);
stage.setScene(new Scene(stackPane));
stage.show();
ScrollPane scrollPane = new ScrollPane(new VBox(new Button("Option1"), new Button("Option2")));
Popup popup = new Popup();
popup.getContent().add(scrollPane);
Point2D pinPoint = textField.localToScreen(0., textField.getHeight());
popup.show(textField, pinPoint.getX(), pinPoint.getY());
textField.addEventHandler(KeyEvent.KEY_RELEASED, event -> {
System.out.println("KEY_RELEASED " + event);
});
textField.addEventHandler(KeyEvent.KEY_PRESSED, event -> {
System.out.println("KEY_PRESSED " + event);
});
}
};
---------- END SOURCE ----------
FREQUENCY : always
- relates to
-
JDK-8209788 Left/Right/Ctrl+A keys not working in editor of ComboBox if popup showing
-
- Resolved
-