JEdi​​torPane获取行号和列号的字符位置

时间:2014-05-05 11:42:45

标签: java swing jeditorpane

如何获取Position,以便与给定行和列中的setCaret一起使用?

该组件具有单一字体,并且是等宽字体。我见过的大多数其他答案都是用于确定给定位置的行号和列号。我正在寻找相反的方法。

我确实看到了JTextComponent.viewToModel,但无法走远。必须有一个快速的方法? : - )

2 个答案:

答案 0 :(得分:3)

使用Element的{​​{1}}结构获取指定行的起始偏移量,然后只需添加要将Caret定位的列:

Document

答案 1 :(得分:2)

您可以获得行高和字符宽度。使用modelToView()返回的矩形获取位置0和位置1的行高和x差值以获得x。 然后使用viewToModel()传递y=rowHeight*rowNumberx=charWidth*colNumber