本文整理汇总了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();
}
示例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();
}
}
示例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();
}
}
});
}
示例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;
}
}
}
}
示例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);
}
}
}
}
示例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;
}
示例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;
}
示例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);
}
}
示例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 );
}
示例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();
}
示例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) {
}
}
}
示例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();
}
}
}
示例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);
}
}
示例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;
}
示例15: FileNamePatternWatcher
import javax.swing.text.JTextComponent; //导入方法依赖的package包/类
private FileNamePatternWatcher(JTextComponent txtComp) {
this.txtComp = txtComp;
doc = txtComp.getDocument();
}