本文整理汇总了Java中org.openide.text.NbDocument.findLineNumber方法的典型用法代码示例。如果您正苦于以下问题:Java NbDocument.findLineNumber方法的具体用法?Java NbDocument.findLineNumber怎么用?Java NbDocument.findLineNumber使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.openide.text.NbDocument
的用法示例。
在下文中一共展示了NbDocument.findLineNumber方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: openFileAtOffset
import org.openide.text.NbDocument; //导入方法依赖的package包/类
private static boolean openFileAtOffset(DataObject dataObject, int offset) throws IOException {
EditorCookie ec = dataObject.getCookie(EditorCookie.class);
LineCookie lc = dataObject.getCookie(LineCookie.class);
if (ec != null && lc != null) {
StyledDocument doc = ec.openDocument();
if (doc != null) {
int lineNumber = NbDocument.findLineNumber(doc, offset);
if (lineNumber != -1) {
Line line = lc.getLineSet().getCurrent(lineNumber);
if (line != null) {
int lineOffset = NbDocument.findLineOffset(doc, lineNumber);
int column = offset - lineOffset;
line.show(ShowOpenType.OPEN, ShowVisibilityType.FOCUS, column);
return true;
}
}
}
}
return false;
}
示例2: toString
import org.openide.text.NbDocument; //导入方法依赖的package包/类
public String toString () {
int offset = next (1) == null ?
doc.getLength () : next (1).getOffset ();
int lineNumber = NbDocument.findLineNumber (doc, offset);
return (String) doc.getProperty ("title") + ":" +
(lineNumber + 1) + "," +
(offset - NbDocument.findLineOffset (doc, lineNumber) + 1);
// StringBuffer sb = new StringBuffer ();
// TokenItem t = next;
// int i = 0;
// while (i < 10) {
// if (t == null) break;
// EditorToken et = (EditorToken) t.getTokenID ();
// sb.append (Token.create (
// et.getMimeType (),
// et.getType (),
// t.getImage (),
// null
// ));
// t = t.getNext ();
// i++;
// }
// return sb.toString ();
}
示例3: getCurrentLineNumber
import org.openide.text.NbDocument; //导入方法依赖的package包/类
/**
* Get the line number of the caret in the current editor.
* @return the line number or <code>-1</code> when there is no current editor.
*/
public int getCurrentLineNumber() {
EditorCookie e = getCurrentEditorCookie ();
if (e == null) return -1;
JEditorPane ep = getCurrentEditor ();
if (ep == null) return -1;
StyledDocument d = e.getDocument ();
if (d == null) return -1;
Caret caret = ep.getCaret ();
if (caret == null) return -1;
int ln = NbDocument.findLineNumber (
d,
caret.getDot ()
);
return ln + 1;
}
示例4: getMostRecentLineNumber
import org.openide.text.NbDocument; //导入方法依赖的package包/类
/**
* Get the line number of the caret in the most recent editor.
* This returns the current line number in the current editor if there's one,
* or a line number of the caret in the editor, that was most recently active.
* @return the line number or <code>-1</code> when there was no recent active editor.
*/
public int getMostRecentLineNumber() {
EditorCookie e = getMostRecentEditorCookie ();
if (e == null) return -1;
JEditorPane ep = getMostRecentEditor ();
if (ep == null) return -1;
StyledDocument d = e.getDocument ();
if (d == null) return -1;
Caret caret = ep.getCaret ();
if (caret == null) return -1;
int ln = NbDocument.findLineNumber (
d,
caret.getDot ()
);
return ln + 1;
}
示例5: getMostRecentLine
import org.openide.text.NbDocument; //导入方法依赖的package包/类
/**
* Get the line of the caret in the most recent editor.
* This returns the current line in the current editor if there's one,
* or a line of the caret in the editor, that was most recently active.
* @return the line or <code>null</code> when there was no recent active editor.
*/
public Line getMostRecentLine() {
EditorCookie e = getMostRecentEditorCookie ();
if (e == null) return null;
JEditorPane ep = getMostRecentEditor ();
if (ep == null) return null;
StyledDocument d = e.getDocument ();
if (d == null) return null;
Caret caret = ep.getCaret ();
if (caret == null) return null;
int lineNumber = NbDocument.findLineNumber(d, caret.getDot());
Line.Set lineSet = e.getLineSet();
try {
return lineSet.getCurrent(lineNumber);
} catch (IndexOutOfBoundsException ex) {
return null;
}
}
示例6: findNumLines
import org.openide.text.NbDocument; //导入方法依赖的package包/类
private static int findNumLines(FileObject file) {
DataObject dataObject;
try {
dataObject = DataObject.find (file);
} catch (DataObjectNotFoundException ex) {
return 0;
}
EditorCookie ec = (EditorCookie) dataObject.getCookie(EditorCookie.class);
if (ec == null) return 0;
ec.prepareDocument().waitFinished();
Document d = ec.getDocument();
if (!(d instanceof StyledDocument)) return 0;
StyledDocument sd = (StyledDocument) d;
return NbDocument.findLineNumber(sd, sd.getLength());
}
示例7: getCurrentLine
import org.openide.text.NbDocument; //导入方法依赖的package包/类
private int getCurrentLine() {
Document doc = pane.getDocument();
int line = -1;
if (doc instanceof StyledDocument && pane.getCaret() != null) {
int offset = pane.getCaretPosition(); //TODO: AWT?
line = NbDocument.findLineNumber((StyledDocument) doc, offset);
}
return line;
}
示例8: getHighlightTestData
import org.openide.text.NbDocument; //导入方法依赖的package包/类
public String getHighlightTestData() {
int lineStart = NbDocument.findLineNumber((StyledDocument) doc, start);
int columnStart = NbDocument.findLineColumn((StyledDocument) doc, start);
int lineEnd = NbDocument.findLineNumber((StyledDocument) doc, end);
int columnEnd = NbDocument.findLineColumn((StyledDocument) doc, end);
return coloringsToString() + ", " + lineStart + ":" + columnStart + "-" + lineEnd + ":" + columnEnd;
}
示例9: getSelectedIdentifier
import org.openide.text.NbDocument; //导入方法依赖的package包/类
private static String getSelectedIdentifier (
StyledDocument doc,
JEditorPane ep,
int offset
) {
String t = null;
if (ep.getSelectionStart () <= offset && offset <= ep.getSelectionEnd ()) {
t = ep.getSelectedText ();
}
if (t != null) {
return t;
}
int line = NbDocument.findLineNumber (
doc,
offset
);
int col = NbDocument.findLineColumn (
doc,
offset
);
try {
javax.swing.text.Element lineElem =
org.openide.text.NbDocument.findLineRootElement (doc).
getElement (line);
if (lineElem == null) {
return null;
}
int lineStartOffset = lineElem.getStartOffset ();
int lineLen = lineElem.getEndOffset() - lineStartOffset;
t = doc.getText (lineStartOffset, lineLen);
int identStart = col;
while (identStart > 0 &&
(Character.isJavaIdentifierPart (
t.charAt (identStart - 1)
) ||
(t.charAt (identStart - 1) == '.'))) {
identStart--;
}
int identEnd = col;
while (identEnd < lineLen &&
Character.isJavaIdentifierPart(t.charAt(identEnd))
) {
identEnd++;
}
if (identStart == identEnd) {
return null;
}
return t.substring (identStart, identEnd);
} catch (javax.swing.text.BadLocationException e) {
return null;
}
}
示例10: getLineNumber
import org.openide.text.NbDocument; //导入方法依赖的package包/类
/** Returns current line number.
* @return number of line where the caret stays (first line == 1)
*/
public int getLineNumber() {
StyledDocument doc = (StyledDocument) txtEditorPane().getDocument();
int offset = txtEditorPane().getCaretPosition();
return NbDocument.findLineNumber(doc, offset) + 1;
}
示例11: implement
import org.openide.text.NbDocument; //导入方法依赖的package包/类
public ChangeInfo implement() throws Exception {
EditList edits = fix.getEditList();
Document oldDoc = info.getSnapshot().getSource().getDocument(true);
//OffsetRange range = edits.getRange();
OffsetRange range = new OffsetRange(0, oldDoc.getLength());
String oldSource = oldDoc.getText(range.getStart(), range.getEnd());
String mimeType = (String) oldDoc.getProperty("mimeType"); //NOI18N
BaseDocument newDoc = new BaseDocument(false, mimeType);
Language language = (Language) oldDoc.getProperty(Language.class);
newDoc.putProperty(Language.class, language);
newDoc.insertString(0, oldSource, null);
edits.applyToDocument(newDoc);
String newSource = newDoc.getText(0, newDoc.getLength());
String oldTitle = NbBundle.getMessage(PreviewHintFix.class, "CurrentSource");
String newTitle = NbBundle.getMessage(PreviewHintFix.class, "FixedSource");
final DiffController diffView = DiffController.create(
new DiffSource(oldSource, oldTitle),
new DiffSource(newSource, newTitle));
JComponent jc = diffView.getJComponent();
jc.setPreferredSize(new Dimension(800, 600));
// Warp view to a particular diff?
// I can't just always jump to difference number 0, because when a hint
// has changed only the whitespace (such as the fix which moves =begin entries to column 0)
// there are no diffs, even though I want to jump to the relevant line.
final int index = 0;
final int firstLine = diffView.getDifferenceCount() == 0 ? NbDocument.findLineNumber((StyledDocument) oldDoc, edits.getRange().
getStart()) : -1;
SwingUtilities.invokeLater(new Runnable() {
public void run() {
if (firstLine != -1) {
diffView.setLocation(DiffController.DiffPane.Base,
DiffController.LocationType.LineNumber, firstLine);
} else if (diffView.getDifferenceCount() > 0) {
diffView.setLocation(DiffController.DiffPane.Base,
DiffController.LocationType.DifferenceIndex, index);
}
}
});
JButton apply = new JButton(NbBundle.getMessage(PreviewHintFix.class, "Apply"));
JButton ok = new JButton(NbBundle.getMessage(PreviewHintFix.class, "Ok"));
JButton cancel = new JButton(NbBundle.getMessage(PreviewHintFix.class, "Cancel"));
String dialogTitle = NbBundle.getMessage(PreviewHintFix.class, "PreviewTitle",
fix.getDescription());
DialogDescriptor descriptor =
new DialogDescriptor(jc, dialogTitle, true,
new Object[]{apply, ok, cancel}, ok, DialogDescriptor.DEFAULT_ALIGN, null, null,
true);
Dialog dlg = null;
try {
dlg = DialogDisplayer.getDefault().createDialog(descriptor);
dlg.setVisible(true);
if (descriptor.getValue() == apply) {
fix.implement();
}
} finally {
if (dlg != null) {
dlg.dispose();
}
}
return null;
}
示例12: getLine0
import org.openide.text.NbDocument; //导入方法依赖的package包/类
private Position[] getLine0(Error d, final Document doc, int startOffset, int endOffset) {
StyledDocument sdoc = (StyledDocument) doc;
int lineNumber = NbDocument.findLineNumber(sdoc, startOffset);
int lineOffset = NbDocument.findLineOffset(sdoc, lineNumber);
String text = DataLoadersBridge.getDefault().getLine(doc, lineNumber);
if (text == null) {
return new Position[2];
}
if (d.isLineError()) {
int column = 0;
int length = text.length();
while (column < text.length() && Character.isWhitespace(text.charAt(column))) {
column++;
}
while (length > 0 && Character.isWhitespace(text.charAt(length - 1))) {
length--;
}
startOffset = lineOffset + column;
endOffset = lineOffset + length;
if (startOffset > endOffset) {
// Space only on the line
startOffset = lineOffset;
}
}
if (LOG.isLoggable(Level.FINE)) {
LOG.log(Level.FINE, "startOffset = " + startOffset );
LOG.log(Level.FINE, "endOffset = " + endOffset );
}
final int startOffsetFinal = startOffset;
final int endOffsetFinal = endOffset;
final Position[] result = new Position[2];
int len = doc.getLength();
if (startOffsetFinal > len || endOffsetFinal > len) {
if (!cancel.isCancelled() && LOG.isLoggable(Level.WARNING)) {
LOG.log(Level.WARNING, "document changed, but not canceled?" );
LOG.log(Level.WARNING, "len = " + len );
LOG.log(Level.WARNING, "startOffset = " + startOffsetFinal );
LOG.log(Level.WARNING, "endOffset = " + endOffsetFinal );
}
cancel();
return result;
}
try {
result[0] = NbDocument.createPosition(doc, startOffsetFinal, Bias.Forward);
result[1] = NbDocument.createPosition(doc, endOffsetFinal, Bias.Backward);
} catch (BadLocationException e) {
LOG.log(Level.WARNING, null, e);
}
return result;
}
示例13: firstLine
import org.openide.text.NbDocument; //导入方法依赖的package包/类
public int firstLine(BaseDocument doc) {
OffsetRange range = getRange();
return NbDocument.findLineNumber((StyledDocument)doc, range.getStart());
}
示例14: getAssignedLines
import org.openide.text.NbDocument; //导入方法依赖的package包/类
public int[] getAssignedLines() {
int line = NbDocument.findLineNumber((StyledDocument) doc, startOffset.getOffset());
return new int[] {line, line};
}
示例15: getSelectedMethodName_
import org.openide.text.NbDocument; //导入方法依赖的package包/类
private String getSelectedMethodName_() {
JEditorPane ep = contextDispatcher.getCurrentEditor ();
if (ep == null) {
return "";
}
StyledDocument doc = (StyledDocument) ep.getDocument ();
if (doc == null) {
return "";
}
int offset = ep.getCaret ().getDot ();
String t;
// if ( (ep.getSelectionStart () <= offset) &&
// (offset <= ep.getSelectionEnd ())
// ) t = ep.getSelectedText ();
// if (t != null) return t;
int line = NbDocument.findLineNumber (
doc,
offset
);
int col = NbDocument.findLineColumn (
doc,
offset
);
try {
javax.swing.text.Element lineElem =
org.openide.text.NbDocument.findLineRootElement (doc).
getElement (line);
if (lineElem == null) {
return "";
}
int lineStartOffset = lineElem.getStartOffset ();
int lineLen = lineElem.getEndOffset () - lineStartOffset;
// t contains current line in editor
t = doc.getText (lineStartOffset, lineLen);
int identStart = col;
while ( identStart > 0 &&
Character.isJavaIdentifierPart (
t.charAt (identStart - 1)
)
) {
identStart--;
}
int identEnd = col;
while (identEnd < lineLen &&
Character.isJavaIdentifierPart (t.charAt (identEnd))
) {
identEnd++;
}
int i = t.indexOf ('(', identEnd);
if (i < 0) {
return "";
}
if (t.substring (identEnd, i).trim ().length () > 0) {
return "";
}
if (identStart == identEnd) {
return "";
}
return t.substring (identStart, identEnd);
} catch (javax.swing.text.BadLocationException ex) {
return "";
}
}