当前位置: 首页>>代码示例>>Java>>正文


Java NbDocument.findLineNumber方法代码示例

本文整理汇总了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;
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:21,代码来源:SpringXMLConfigEditorUtils.java

示例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 ();
    }
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:25,代码来源:EditorTokenInput.java

示例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;
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:20,代码来源:EditorContextDispatcher.java

示例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;
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:22,代码来源:EditorContextDispatcher.java

示例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;
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:24,代码来源:EditorContextDispatcher.java

示例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());
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:16,代码来源:LineBreakpointPanel.java

示例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;
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:12,代码来源:AnnotationView.java

示例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;
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:9,代码来源:HighlightImpl.java

示例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;
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:56,代码来源:WatchPanel.java

示例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;
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:9,代码来源:EditorOperator.java

示例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;
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:76,代码来源:PreviewHintFix.java

示例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;
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:62,代码来源:GsfHintsProvider.java

示例13: firstLine

import org.openide.text.NbDocument; //导入方法依赖的package包/类
public int firstLine(BaseDocument doc) {
    OffsetRange range = getRange();
    
    return NbDocument.findLineNumber((StyledDocument)doc, range.getStart());
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:6,代码来源:EditList.java

示例14: getAssignedLines

import org.openide.text.NbDocument; //导入方法依赖的package包/类
public int[] getAssignedLines() {
    int line = NbDocument.findLineNumber((StyledDocument) doc, startOffset.getOffset());
    
    return new int[] {line, line};
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:6,代码来源:OccurrencesMarkProvider.java

示例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 "";
        }
    }
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:69,代码来源:EditorContextImpl.java


注:本文中的org.openide.text.NbDocument.findLineNumber方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。