本文整理汇总了Java中org.netbeans.editor.Utilities.getPositionAbove方法的典型用法代码示例。如果您正苦于以下问题:Java Utilities.getPositionAbove方法的具体用法?Java Utilities.getPositionAbove怎么用?Java Utilities.getPositionAbove使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.netbeans.editor.Utilities
的用法示例。
在下文中一共展示了Utilities.getPositionAbove方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getNextVisualPositionFrom
import org.netbeans.editor.Utilities; //导入方法依赖的package包/类
public @Override int getNextVisualPositionFrom(
int pos, Position.Bias b, Shape a,
int direction, Position.Bias[] biasRet
) throws BadLocationException {
biasRet[0] = Position.Bias.Forward;
switch (direction) {
case NORTH:
case SOUTH:
{
JTextComponent target = (JTextComponent) getContainer();
Caret c = (target != null) ? target.getCaret() : null;
// YECK! Ideally, the x location from the magic caret position
// would be passed in.
Point mcp;
if (c != null) {
mcp = c.getMagicCaretPosition();
}
else {
mcp = null;
}
int x;
if (mcp == null) {
Rectangle loc = target.modelToView(pos);
x = (loc == null) ? 0 : loc.x;
}
else {
x = mcp.x;
}
if (direction == NORTH) {
pos = Utilities.getPositionAbove(target, pos, x);
}
else {
pos = Utilities.getPositionBelow(target, pos, x);
}
}
break;
case WEST:
if(pos == -1) {
pos = Math.max(0, getStartOffset());
}
else {
if (b == Position.Bias.Backward){
pos = Math.max(0, getStartOffset());
}else{
pos = Math.max(0, getStartOffset() - 1);
}
}
break;
case EAST:
if(pos == -1) {
pos = getStartOffset();
}
else {
pos = Math.min(getEndOffset(), getDocument().getLength());
//JTextComponent target = (JTextComponent) getContainer();
//if (target!=null && Utilities.getRowEnd(target, pos) == pos) pos = Math.min(pos+1, getDocument().getLength());
}
break;
default:
throw new IllegalArgumentException("Bad direction: " + direction); // NOI18N
}
return pos;
}