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


Java JTextComponent.getDocument方法代码示例

本文整理汇总了Java中javax.swing.text.JTextComponent.getDocument方法的典型用法代码示例。如果您正苦于以下问题:Java JTextComponent.getDocument方法的具体用法?Java JTextComponent.getDocument怎么用?Java JTextComponent.getDocument使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在javax.swing.text.JTextComponent的用法示例。


在下文中一共展示了JTextComponent.getDocument方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: defaultAction

import javax.swing.text.JTextComponent; //导入方法依赖的package包/类
public void defaultAction (
    final JTextComponent    component
) {
    Completion.get ().hideCompletion ();
    Completion.get ().hideDocumentation ();
    Document document = component.getDocument ();
    DataObject dataObject = (DataObject) document.getProperty (Document.StreamDescriptionProperty);
    FileObject fileObject = dataObject.getPrimaryFile ();
    Project project = FileOwnerQuery.getOwner (fileObject);
    Locale locale = LocaleQuery.findLocale(fileObject);
    DictionaryImpl dictionary = projects && project != null ?
        ComponentPeer.getProjectDictionary (project, locale) :
        ComponentPeer.getUsersLocalDictionary (locale);
    dictionary.addEntry (word);
    ComponentPeer componentPeer = (ComponentPeer) component.getClientProperty (ComponentPeer.class);
    componentPeer.reschedule();
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:18,代码来源:AddToDictionaryCompletionItem.java

示例2: runViewHierarchyTransaction

import javax.swing.text.JTextComponent; //导入方法依赖的package包/类
/**
 * Execute the given runnable with view hierarchy being locked.
 * This is necessary when exploring the view hierarchy by views' methods
 * since the views changes may happen due to changes from highlighting layers
 * that cause the views to be rebuilt.
 * @param component non-null text component of which the view hierarchy is being explored.
 * @param readLockDocument if true lock the document before locking the view hierarchy.
 *  This parameter should only be false if it's known that the document was already read/write-locked
 *  prior calling this method.
 * @r non-null runnable to execute.
 */
public static void runViewHierarchyTransaction(final JTextComponent component,
        boolean readLockDocument, final Runnable r)
{
    Runnable wrapRun = new Runnable() {
        @Override
        public void run() {
            View documentView = getDocumentView(component);
            if (documentView != null) {
                ((DocumentView) documentView).runTransaction(r);
            }
        }
    };
    Document doc;
    if (readLockDocument && (doc = component.getDocument()) != null) {
        doc.render(wrapRun);
    } else {
        wrapRun.run();
    }
    
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:32,代码来源:Utilities.java

示例3: actionPerformed

import javax.swing.text.JTextComponent; //导入方法依赖的package包/类
public void actionPerformed(ActionEvent evt, final JTextComponent target) {
    Document doc = target.getDocument();
    doc.render(new Runnable() {
        @Override
        public void run() {
            FoldHierarchy hierarchy = FoldHierarchy.get(target);
            int dot = target.getCaret().getDot();
            hierarchy.lock();
            try {
                try {
                    int rowStart = javax.swing.text.Utilities.getRowStart(target, dot);
                    int rowEnd = javax.swing.text.Utilities.getRowEnd(target, dot);
                    Fold fold = getLineFold(hierarchy, dot, rowStart, rowEnd);
                    if (fold != null) {
                        hierarchy.expand(fold);
                    }
                } catch (BadLocationException ble) {
                    Exceptions.printStackTrace(ble);
                }
            } finally {
                hierarchy.unlock();
            }
        }
    });
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:26,代码来源:ActionFactory.java

示例4: stateChanged

import javax.swing.text.JTextComponent; //导入方法依赖的package包/类
@Override
        public void stateChanged(ChangeEvent evt) {
            super.stateChanged(evt);
            Document doc;
            JTextComponent c = component();
            if (RectangularSelectionUtils.isRectangularSelection(c) && (doc = c.getDocument()) != null) {
                if (rectangularSelectionBag == null) {
                    // Btw the document is not used by PositionsBag at all
                    rectangularSelectionBag = new PositionsBag(doc);
                    rectangularSelectionBag.addHighlightsChangeListener(this);
                }
                List<Position> regions = RectangularSelectionUtils.regionsCopy(c);
                if (regions != null) {
                    AttributeSet attrs = getAttribs();
                    rectangularSelectionBag.clear();
                    int size = regions.size();
                    for (int i = 0; i < size;) {
                        Position startPos = regions.get(i++);
                        Position endPos = regions.get(i++);
                        rectangularSelectionBag.addHighlight(startPos, endPos, attrs);
                    }
                    // Fire change at once
                    if (hlChangeStartOffset != -1) {
//                        fireHighlightsChange(hlChangeStartOffset, hlChangeEndOffset);
                        hlChangeStartOffset = -1;
                    }
                }
            }
        }
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:30,代码来源:CaretBasedBlockHighlighting.java

示例5: caretUpdate

import javax.swing.text.JTextComponent; //导入方法依赖的package包/类
@Override
public void caretUpdate(final CaretEvent event) {
    final JTextComponent lastEditor = lastEditorRef == null ? null : lastEditorRef.get();
    if (lastEditor != null) {
        Document doc = lastEditor.getDocument ();
        String mimeType = DocumentUtilities.getMimeType (doc);
        if (doc != null && mimeType != null) {
            Source source = Source.create(doc);
            if (source != null) {
                ((EventSupport)SourceEnvironment.forSource(source)).resetState(false, false, -1, -1, false);
            }
        }
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:15,代码来源:EventSupport.java

示例6: performGoto

import javax.swing.text.JTextComponent; //导入方法依赖的package包/类
/**
 * Perform the goto operation.
 *
 * @return whether the dialog should be made invisible or not
 */
private boolean performGoto() {
    JTextComponent c = getTargetComponent();
    String text = (String) gotoCombo.getEditor().getItem();
    if (c != null) {
        try {
            int lineNumber = Integer.parseInt(text);
            if (lineNumber == 0) { // Works in vim to jump to begining
                lineNumber = 1;
            }
            int lineIndex = lineNumber - 1;
            Document doc = c.getDocument();
            Element rootElem = doc.getDefaultRootElement();
            int lineCount = rootElem.getElementCount();
            if (lineIndex >= 0) {
                if (lineIndex >= lineCount) {
                    lineIndex = lineCount - 1;
                }
                int offset = rootElem.getElement(lineIndex).getStartOffset();
                c.setCaretPosition(offset);
                return true;
            } // else: lineIndex < 0 => beep and return false
        } catch (NumberFormatException e) {
            // Contains letters or other chars -> attempt bookmarks
            BookmarkManager lockedBookmarkManager = BookmarkManager.getLocked();
            try {
                BookmarkInfo bookmark = lockedBookmarkManager.findBookmarkByNameOrKey(text, false);
                if (bookmark != null) {
                    BookmarkUtils.postOpenEditor(bookmark);
                    return true;
                } // else: unknown bookmark => beep
            } finally {
                lockedBookmarkManager.unlock();
            }
        }
    }
    c.getToolkit().beep();
    return false;
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:44,代码来源:GotoLineOrBookmarkPanel.java

示例7: getIdentifierBlock

import javax.swing.text.JTextComponent; //导入方法依赖的package包/类
/** Get the identifier around the given position or null if there's no identifier
 * around the given position. The identifier is not verified against SyntaxSupport.isIdentifier().
 * @param c JTextComponent to work on
 * @param offset position in document - usually the caret.getDot()
 * @return the block (starting and ending position) enclosing the identifier
 * or null if no identifier was found
 */
public static int[] getIdentifierBlock(JTextComponent c, int offset)
throws BadLocationException {
    CharSequence id = null;
    int[] ret = null;
    Document doc = c.getDocument();
    int idStart = javax.swing.text.Utilities.getWordStart(c, offset);
    if (idStart >= 0) {
        int idEnd = javax.swing.text.Utilities.getWordEnd(c, idStart);
        if (idEnd >= 0) {
            id = DocumentUtilities.getText(doc, idStart, idEnd - idStart);
            ret = new int[] { idStart, idEnd };
            CharSequence trim = CharSequenceUtilities.trim(id);
            if (trim.length() == 0 || (trim.length() == 1 && !Character.isJavaIdentifierPart(trim.charAt(0)))) {
                int prevWordStart = javax.swing.text.Utilities.getPreviousWord(c, offset);
                if (offset == javax.swing.text.Utilities.getWordEnd(c,prevWordStart )){
                    ret = new int[] { prevWordStart, offset };
                } else {
                    return null;
                }
            } else if ((id != null) && (id.length() != 0)  && (CharSequenceUtilities.indexOf(id, '.') != -1)){ //NOI18N
                int index = offset - idStart;
                int begin = CharSequenceUtilities.lastIndexOf(id.subSequence(0, index), '.');
                begin = (begin == -1) ? 0 : begin + 1; //first index after the dot, if exists
                int end = CharSequenceUtilities.indexOf(id, '.', index);
                end = (end == -1) ? id.length() : end;
                ret = new int[] { idStart+begin, idStart+end };
            }
        }
    }
    return ret;
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:39,代码来源:Utilities.java

示例8: actionPerformed

import javax.swing.text.JTextComponent; //导入方法依赖的package包/类
public void actionPerformed(ActionEvent evt, JTextComponent target) {
    if (target == null) return;
    if (!target.isEditable() || !target.isEnabled()) {
        problem(null);
        return;
    }
    Caret caret = target.getCaret();
    BaseDocument doc = (BaseDocument)target.getDocument();
    try {
        doc.dump(System.out);    
        if (target == null)  throw new BadLocationException(null,0);  // folish compiler
    } catch (BadLocationException e) {
        problem(null);
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:16,代码来源:XMLKit.java

示例9: saveFile

import javax.swing.text.JTextComponent; //导入方法依赖的package包/类
private boolean saveFile( Component comp ) {
    if( comp == null ) return false;
    JTextComponent edit = (JTextComponent)com2text.get( comp );
    Document doc = edit.getDocument();
    File file = (File)doc.getProperty( FILE );
    boolean created = ((Boolean)doc.getProperty( CREATED )).booleanValue();
    
    return saveFile( comp, file, created );
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:10,代码来源:Editor.java

示例10: defaultAction

import javax.swing.text.JTextComponent; //导入方法依赖的package包/类
@Override
public void defaultAction(JTextComponent component) {
    if (component == null) {
        return;
    }
    int last = text.length() - 1;
    while (last > 0 && 
           Character.isWhitespace(text.charAt(last))) {
        last--;
    }
    if (last < 0) {
        Completion.get().hideAll();
        return;
    }
    
    final Document d = component.getDocument();
    final ShellSession s = ShellSession.get(d);
    if (s == null) {
        Completion.get().hideAll();
        return;
    }
    final ConsoleModel mdl = s.getModel();
    ConsoleSection is = mdl.getInputSection();
    final int from = is.getPartBegin();
    final int l = last + 1;
    AtomicLockDocument ald = LineDocumentUtils.asRequired(d, AtomicLockDocument.class);
    ald.runAtomicAsUser(() -> {
        try {
            d.remove(from, d.getLength() - from);
            d.insertString(from, text.substring(0, l), null);
        } catch (BadLocationException ble) {
            ble.printStackTrace();
        }
    });
    Completion.get().hideAll();
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:37,代码来源:HistoryCompletionProvider.java

示例11: actionPerformed

import javax.swing.text.JTextComponent; //导入方法依赖的package包/类
public void actionPerformed(ActionEvent e) {
	JTextComponent tc = (JTextComponent) getInvoker();

	String sel = tc.getSelectedText();

	if (e.getSource() == cutItem) {
		tc.cut();
	} else if (e.getSource() == copyItem) {
		tc.copy();
	} else if (e.getSource() == pasteItem) {
		tc.paste();
	} else if (e.getSource() == selectAllItem) {
		tc.selectAll();
	} else if (e.getSource() == deleteItem) {
		Document doc = tc.getDocument();
		int start = tc.getSelectionStart();
		int end = tc.getSelectionEnd();

		try {
			Position p0 = doc.createPosition(start);
			Position p1 = doc.createPosition(end);

			if ((p0 != null) && (p1 != null)
					&& (p0.getOffset() != p1.getOffset())) {
				doc.remove(p0.getOffset(), p1.getOffset() - p0.getOffset());
			}
		} catch (BadLocationException be) {
		}
	}
}
 
开发者ID:breakEval13,项目名称:NSS,代码行数:31,代码来源:TextComponentPopupMenu.java

示例12: actionPerformed

import javax.swing.text.JTextComponent; //导入方法依赖的package包/类
@Override
public void actionPerformed(ActionEvent evt, JTextComponent target) {
    if (target != null && !Boolean.TRUE.equals(target.getClientProperty("AsTextField"))) {
        Document doc = target.getDocument();
        if (debuggingEnabled.contains(doc)) debuggingEnabled.remove(doc);
        else debuggingEnabled.add(doc);
        for (ToggleDebuggingAction a : actions) {
            a.updateState();
        }
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:12,代码来源:ToggleDebuggingAction.java

示例13: setEditor

import javax.swing.text.JTextComponent; //导入方法依赖的package包/类
/**
 * Resets the JTextComponent to <code>editor</code>. This will update
 * the tree accordingly.
 */
public void setEditor(JTextComponent editor) {
    if (this.editor == editor) {
        return;
    }

    if (this.editor != null) {
        Document oldDoc = this.editor.getDocument();

        oldDoc.removeDocumentListener(this);
        this.editor.removePropertyChangeListener(this);
        this.editor.removeCaretListener(this);
    }
    this.editor = editor;
    if (editor == null) {
        treeModel = null;
        tree.setModel(null);
    } else {
        Document newDoc = editor.getDocument();

        newDoc.addDocumentListener(this);
        editor.addPropertyChangeListener(this);
        editor.addCaretListener(this);
        treeModel = new ElementTreeModel(newDoc);
        tree.setModel(treeModel);
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:31,代码来源:ElementTreePanel.java

示例14: canFilter

import javax.swing.text.JTextComponent; //导入方法依赖的package包/类
@Override
protected boolean canFilter(JTextComponent component) {
    try {
        if (component.getCaret() == null || component.getCaretPosition() < anchor) {
            return false;
        }
        
        Document doc = component.getDocument();
        int offset = component.getCaretPosition();

        String prefix = doc.getText(anchor, offset - anchor);

        //check the items
        for (CompletionItem item : items) {
            if (item instanceof HtmlCompletionItem) {
                String itemText = ((HtmlCompletionItem) item).getItemText();
                if(itemText != null) { //http://netbeans.org/bugzilla/show_bug.cgi?id=222234
                    if (startsWithIgnoreCase(itemText, prefix)) {
                        return true; //at least one item will remain
                    }
                } else {
                    LOG.log(Level.WARNING, "CompletionItem {0} returned null from getItemText()!", item);
                }
            }
        }


    } catch (BadLocationException ex) {
        Exceptions.printStackTrace(ex);
    }

    return false;

}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:35,代码来源:HtmlCompletionProvider.java

示例15: FileNamePatternWatcher

import javax.swing.text.JTextComponent; //导入方法依赖的package包/类
private FileNamePatternWatcher(JTextComponent txtComp) {
    this.txtComp = txtComp;
    doc = txtComp.getDocument();
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:5,代码来源:FileNameController.java


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