gpt4 book ai didi

java - 将文本附加到文本区域,但将插入符号位置设置为行尾

转载 作者:行者123 更新时间:2023-12-02 00:36:02 24 4
gpt4 key购买 nike

嗨!

我目前正在尝试使用 JavaFX 构建一个终端模拟器,我想在按下“enter”后附加一些文本。到目前为止,这是有效的,但问题是,在附加我的文本后,插入符号位置设置为下一行。

这是我到目前为止所拥有的:

   String newLine = System.getProperty("line.separator");
emulator.appendText(newLine);
emulator.appendText(prefix);
emulator.positionCaret(emulator.getLength());

我已经尝试移动 emulator.appendText(newLine) 或完全删除它,但它仍然将插入符号放入下一行。

我该如何让它停止这样做?

如有任何帮助,我们将不胜感激。

最佳答案

我找到了解决该问题的方法。

我没有想到通常的事件是由回车键执行的。

我所要做的就是将 EventFilter 添加到文本区域。

emulator.addEventFilter(KeyEvent.KEY_PRESSED, new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent ke) {
if (ke.getCode().equals(KeyCode.ENTER)) {

//Get Command
//Count Rows
int rowCount = emulator.getText().split("\n").length;
System.out.println(rowCount);

String newLine = System.getProperty("line.separator");
emulator.appendText(newLine);
emulator.appendText(prefix);
emulator.positionCaret(emulator.getLength());

ke.consume();
}
}
});

这对我有用。

关于java - 将文本附加到文本区域,但将插入符号位置设置为行尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57973415/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com