private boolean doCursorUp(EventTrigger trigger) {
			if (!cursorOn) {
				scrollLineUp();
				return true;
			}
			scrollToCursor();
			AnchoredLayout layout = findLayoutOnScreen(cursorPosition.getIndex());
			if (layout == null) {
				return false;
			}

			if (!layout.cursorUp(cursorPosition, lastX)) {
				if (layout.getIndex().equals(BigInteger.ZERO)) {
					return false;
				}
				int yPos = layout.getYPos() - 1;
				layout = findLayoutAt(yPos);

				if (layout == null) {
					scrollView(yPos);
					yPos = 0;
					layout = findLayoutAt(0);
				}
				if (layout == null) {
					return false;
				}
				layout.setCursor(cursorPosition, lastX, yPos);
			}
			scrollToCursor();
			currentField = layout.getField(cursorPosition.fieldNum);
			repaint();
			notifyCursorChanged(trigger);
			return true;
		}
Sets the cursor as close to the given point as possible.

@param x the horizontal coordinate.
@param y the vertical coordinate.
Ghidra/Framework/Docking/src/main/java/docking/widgets/fieldpanel/FieldPanel.java