【发布时间】:2021-12-28 20:42:18
【问题描述】:
我正在尝试创建类似于 MS Paint 的东西,我需要一个可以单击场景并立即能够在我单击的位置书写的功能。我从这个Anwser 中提取了整个代码示例来解决如何在canvas 和textarea 之间切换。换句话说,如何在“绘图”和“写作”模式之间切换。所以目前我可以画和写 Current progress ,但我的问题是我想在我点击 textarea 而不是在行的开头写文本。
这就是我的想象 (Goal)。
所以我想添加一个处理程序,它可以提供鼠标坐标并将插入符号设置到该位置:
textarea.setOnMouseClicked(event->{
textarea.positionCaret();
});
只意识到positionCaret() 只需要1个参数。
因此,我无法将“插入符号”定位到鼠标单击的 x、y 位置。
所以问题是如何将“插入符号”/光标移动到我的textarea 中的任何给定位置?
【问题讨论】:
-
"我只找到 textarea.caretPosition(int i)" -> 你在哪里找到的?你能链接到源吗?这甚至不是 JavaFX API。如果你想获得当前插入符号的位置,你可以调用get caret position,同样是一个setter。你想“在鼠标坐标的文本区域上写文本”,但我不知道这是什么意思。请编辑问题以更好地解释您想要做什么并提供minimal reproducible example。画布完全不相关......
-
我的坏小扭蛋。我的意思是 positonCaret(int i)。还尝试编辑我的问题,但我不知道这是否更好。
-
比较好,现在可以理解了。请考虑在需要时提供minimal reproducible example。
标签: javafx