List of usage examples for javax.swing.text PlainDocument getParagraphElement
public Element getParagraphElement(int pos)
From source file:ro.nextreports.designer.ui.sqleditor.syntax.SyntaxUtil.java
/** * Return the lines that span the selection (split as an array of Strings) * if there is no selection then current line is returned. * /*from w ww . j a va2 s . co m*/ * Note that the strings returned will not contain the terminating line feeds. * * The text component will then have the full lines set as selection. * * @param target * @return String[] of lines spanning selection / or Dot */ public static String[] getSelectedLines(JTextComponent target) { String[] lines = null; try { PlainDocument document = (PlainDocument) target.getDocument(); int start = document.getParagraphElement(target.getSelectionStart()).getStartOffset(); int end; if (target.getSelectionStart() == target.getSelectionEnd()) { end = document.getParagraphElement(target.getSelectionEnd()).getEndOffset(); } else { // if more than one line is selected, we need to subtract one from the end // so that we do not select the line with the caret and no selection in it end = document.getParagraphElement(target.getSelectionEnd() - 1).getEndOffset(); } target.select(start, end); lines = document.getText(start, end - start).split("\n"); target.select(start, end); } catch (BadLocationException e) { LOG.error(e.getMessage(), e); lines = EMPTY_STRING_ARRAY; } return lines; }
From source file:ro.nextreports.designer.ui.sqleditor.syntax.SyntaxUtil.java
/** * Return the line of text at the given position. The returned value may * be null. It will not contain the trailing new-line character. * /*from w w w. ja v a 2 s .co m*/ * @param doc * @param pos * @return */ public static String getLineAt(PlainDocument doc, int pos) { String line = null; int start = doc.getParagraphElement(pos).getStartOffset(); int end = doc.getParagraphElement(pos).getEndOffset(); try { line = doc.getText(start, end - start); if (line != null && line.endsWith("\n")) { line = line.substring(0, line.length() - 1); } } catch (BadLocationException e) { LOG.error(e.getMessage(), e); } return line; }