JavaFX如何将光标返回到TextArea的第一行?

时间:2015-11-20 01:30:23

标签: java javafx

我有一个TextArea,我在其中键入内容,它将显示在第二个TextArea上。但每当我按下TextArea中的Enter键来触发EventHandler时,光标就会转到第二行。如果我再次按回车键, 光标停留在第二行。如果按Enter键,如何确保光标停留在第一行?

public class NewClass2 {
public NewClass2(Stage stage) {
    initGUI(stage);
}
private void initGUI(Stage stage) {
    FlowPane flowPane = new FlowPane();
    TextArea textArea = new TextArea();
    textArea.setEditable(false);
    TextArea text = new TextArea();
    textArea.setWrapText(true);
    text.setWrapText(true);
    text.setPrefColumnCount(1);
    text.setPrefRowCount(1);
    text.setOnKeyPressed(new EventHandler<KeyEvent>() {
        boolean once = false;
        @Override
        public void handle(KeyEvent keyEvent) {
            if (keyEvent.getCode() == KeyCode.ENTER)  {
                String message = text.getText();
                text.setText("");
                textArea.appendText(": " + message + System.getProperty("line.separator"));
                //text.setText("");
                //text.clear();
            }
        }
    });

    flowPane.getChildren().add(textArea);
    flowPane.getChildren().add(text);

    Scene scene = new Scene(flowPane);
    stage.setScene(scene);
    stage.show();
}
}

0 个答案:

没有答案