Java examples for 2D Graphics:Line
Given an offset, returns the offset where the line begins.
//package com.java2s; import javax.swing.text.Document; import javax.swing.text.Element; import javax.swing.text.JTextComponent; public class Main { /**/*from w w w. ja v a 2 s . c om*/ * Given an offset, returns the offset where the line begins. * * @param offset Offset position. * @return Offset where the line begins. */ public static int getOffsetStartLine(JTextComponent txtCmp, int offset) { return getOffsetStartLine(txtCmp.getDocument(), offset); } /** * Given an offset, returns the offset where the line begins. * * @param doc JTextComponent document * @param offset Offset position. * @return Offset where the line begins. */ public static int getOffsetStartLine(Document doc, int offset) { int line = getLine(doc, offset); return getWhereLineStarts(doc, line); } /** * Given an offset, returns the line number of a text component. * * @param txtCmp Text Component * @param offset Offset position * @return Line number starting in 0. */ public static int getLine(JTextComponent txtCmp, int offset) { return getLine(txtCmp.getDocument(), offset); } /** * Given an offset, returns the line number in a text component. * * @param doc JTextComponent document * @param offset Offset position * @return Line number starting in 0. */ public static int getLine(Document doc, int offset) { Element root = doc.getDefaultRootElement(); return root.getElementIndex(offset); } /** * Given a line returns the offset number where the line starts. * * @param line Line number * @return Offset number */ public static int getWhereLineStarts(JTextComponent txtCmp, int line) { return getWhereLineStarts(txtCmp.getDocument(), line); } /** * Given a line returns the offset number where the line starts. * * @param doc JTextComponent document * @param line Line number * @return Offset number */ public static int getWhereLineStarts(Document doc, int line) { Element el = doc.getDefaultRootElement().getElement(line); if (el != null) return el.getStartOffset(); return doc.getStartPosition().getOffset(); } }