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


Java JTextComponent.getSelectionStart方法代码示例

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


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

示例1: canFilter

import javax.swing.text.JTextComponent; //导入方法依赖的package包/类
protected @Override boolean canFilter(JTextComponent component) {
    if (component.getCaret() == null) {
        return false;
    }
    int caretOffset = component.getSelectionStart();
    Document doc = component.getDocument();
    filterPrefix = null;
    if (caretOffset >= queryCaretOffset) {
        if (queryAnchorOffset < queryCaretOffset) {
            try {
                filterPrefix = doc.getText(queryAnchorOffset, caretOffset - queryAnchorOffset);
                if (!isJavaIdentifierPart(filterPrefix)) {
                    filterPrefix = null;
                }
            } catch (BadLocationException e) {
                // filterPrefix stays null -> no filtering
            }
        }
    }
    return (filterPrefix != null);
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:22,代码来源:CodeTemplateCompletionProvider.java

示例2: actionPerformed

import javax.swing.text.JTextComponent; //导入方法依赖的package包/类
public @Override void actionPerformed(ActionEvent evt, JTextComponent target) {
    if (target != null) {
        int selectionStartOffset = target.getSelectionStart();
        int selectionEndOffset = target.getSelectionEnd();
        if (selectionEndOffset > selectionStartOffset || selectNext) {
            SelectionHandler handler = (SelectionHandler)target.getClientProperty(SelectionHandler.class);
            if (handler == null) {
                handler = new SelectionHandler(target);
                target.addCaretListener(handler);
                // No need to remove the listener above as the handler
                // is stored is the client-property of the component itself
                target.putClientProperty(SelectionHandler.class, handler);
            }
            
            if (selectNext) { // select next element
                handler.selectNext();
            } else { // select previous
                handler.selectPrevious();
            }
        }
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:23,代码来源:SelectCodeElementAction.java

示例3: defaultAction

import javax.swing.text.JTextComponent; //导入方法依赖的package包/类
public void defaultAction(JTextComponent component) {
    Completion.get().hideAll();
    // Remove the typed part
    Document doc = component.getDocument();
    int caretOffset = component.getSelectionStart();
    int prefixLength = 0;
    try {
        String ident = Utilities.getIdentifierBefore((BaseDocument)doc, caretOffset);
        if (ident != null) {
            prefixLength = ident.length();
        }
    } catch (BadLocationException ex) {
        Exceptions.printStackTrace(ex);
    }
    if (prefixLength > 0) {
        try {
            // Remove the typed prefix
            doc.remove(caretOffset - prefixLength, prefixLength);
        } catch (BadLocationException ble) {
        }
    }
    codeTemplate.insert(component);
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:24,代码来源:CodeTemplateCompletionItem.java

示例4: actionPerformed

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

         JTextComponent tc = getTextComponent(e);
         String filename = null;

         // Get the name of the file to load. If there is a selection, use
         // that as the file name, otherwise, scan for a filename around
         // the caret.
         try {
            int selStart = tc.getSelectionStart();
            int selEnd = tc.getSelectionEnd();
            if (selStart != selEnd) {
               filename = tc.getText(selStart, selEnd - selStart);
            } else {
               filename = getFilenameAtCaret(tc);
            }
         } catch (BadLocationException ble) {
            ble.printStackTrace();
            UIManager.getLookAndFeel().provideErrorFeedback(tc);
            return;
         }

         menuFunctions.loadFile(new File(filename));

      }
 
开发者ID:Thecarisma,项目名称:powertext,代码行数:26,代码来源:PTextEditor.java

示例5: canFilter

import javax.swing.text.JTextComponent; //导入方法依赖的package包/类
@Override
protected boolean canFilter(JTextComponent component) {
    final int newOffset = component.getSelectionStart();
    final Document doc = component.getDocument();
    if (newOffset > caretOffset && items != null && !items.isEmpty()) {
        try {
            String prefix = doc.getText(caretOffset, newOffset - caretOffset);
            if (!isJavaIdentifierPart(prefix)) {
                Completion.get().hideDocumentation();
                Completion.get().hideCompletion();
            }
        } catch (BadLocationException ble) {
        }
    }
    return false;
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:17,代码来源:JavadocCompletionQuery.java

示例6: preQueryUpdate

import javax.swing.text.JTextComponent; //导入方法依赖的package包/类
@Override
protected void preQueryUpdate(JTextComponent component) {
    int newCaretOffset = component.getSelectionStart();
    if (newCaretOffset >= caretOffset) {
        try {
            if (isJavaIdentifierPart(component.getDocument().getText(caretOffset, newCaretOffset - caretOffset), false)) {
                return;
            }
        } catch (BadLocationException e) {
        }
    }
    Completion.get().hideCompletion();
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:14,代码来源:JavaCompletionProvider.java

示例7: createTask

import javax.swing.text.JTextComponent; //导入方法依赖的package包/类
@Override
public CompletionTask createTask(int queryType, JTextComponent component) {
    if (queryType != CompletionProvider.COMPLETION_QUERY_TYPE && queryType !=CompletionProvider.COMPLETION_ALL_QUERY_TYPE) {
        return null;
    }
    return new AsyncCompletionTask(new PUCompletionQuery(queryType, component, component.getSelectionStart(), true), component);
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:8,代码来源:PUCompletionProvider.java

示例8: getSelectionOrIdentifierBlock

import javax.swing.text.JTextComponent; //导入方法依赖的package包/类
/** Get the selection if there's any or get the identifier around
* the position if there's no selection.
* @param c component to work with
* @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[] getSelectionOrIdentifierBlock(JTextComponent c, int offset)
throws BadLocationException {
    Document doc = c.getDocument();
    Caret caret = c.getCaret();
    int[] ret;
    if (Utilities.isSelectionShowing(caret)) {
        ret = new int[] { c.getSelectionStart(), c.getSelectionEnd() }; 
    } else if (doc instanceof BaseDocument){
        ret = getIdentifierBlock((BaseDocument)doc, offset);
    } else {
        ret = getIdentifierBlock(c, offset);
    }
    return ret;
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:22,代码来源:Utilities.java

示例9: 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:jonasxiao,项目名称:FinalSpeed,代码行数:31,代码来源:TextComponentPopupMenu.java

示例10: getAnchorOffset

import javax.swing.text.JTextComponent; //导入方法依赖的package包/类
final int getAnchorOffset() {
int offset = anchorOffset;
if (offset == -1) {
    // Get caret position
    JTextComponent editorComponent = getEditorComponent();
    if (editorComponent != null) {
	offset = editorComponent.getSelectionStart();
    }
}
return offset;
   }
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:12,代码来源:CompletionLayoutPopup.java

示例11: createTask

import javax.swing.text.JTextComponent; //导入方法依赖的package包/类
public CompletionTask createTask(int queryType, JTextComponent component) {
    if( queryType != CompletionProvider.COMPLETION_QUERY_TYPE ) 
        return null;
    
        return new AsyncCompletionTask(new HibernateMappingCompletionQuery(queryType,
                component.getSelectionStart()), component);
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:8,代码来源:HibernateMappingCompletionProvider.java

示例12: getCurrentFile

import javax.swing.text.JTextComponent; //导入方法依赖的package包/类
private JTextComponent getCurrentFile(int[] span) {
    JTextComponent pane = EditorRegistry.lastFocusedComponent();
    
    if (pane == null) return null;
    
    Document doc = pane.getDocument();
    Object stream = doc != null ? doc.getProperty(Document.StreamDescriptionProperty) : null;
    
    if (!(stream instanceof DataObject))
        return null;
    
    if (!"text/x-java".equals(NbEditorUtilities.getMimeType(doc))) //NOI18N
        return null;
    
    TopComponent tc = TopComponent.getRegistry().getActivated();
    Component c = pane;
    
    while (c != null) {
        if (c == tc) break;
        c = c.getParent();
    }
    
    if (c == null) return null;
    
    if (span != null) {
        span[0] = pane.getSelectionStart();
        span[1] = pane.getSelectionEnd();
        
        if (span[0] == span[1] && requiresSelection())
            return null;
    }
    
    return pane;
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:35,代码来源:HintAction.java

示例13: createTask

import javax.swing.text.JTextComponent; //导入方法依赖的package包/类
public CompletionTask createTask(int queryType, JTextComponent component) {
    if( queryType != CompletionProvider.COMPLETION_QUERY_TYPE ) 
        return null;
    
        return new AsyncCompletionTask(new HibernateCfgCompletionQuery(queryType,
                component.getSelectionStart()), component);
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:8,代码来源:HibernateCfgCompletionProvider.java

示例14: actionPerformed

import javax.swing.text.JTextComponent; //导入方法依赖的package包/类
@Override
public void actionPerformed(ActionEvent e) {
    if (ignoreComboAction)
        return; // not invoked by user, ignore

    GuardedBlock gBlock = codeData.getGuardedBlock(category, blockIndex);
    GuardBlockInfo gInfo = getGuardInfos(category)[blockIndex];
    int[] blockBounds = getGuardBlockBounds(category, blockIndex);
    int startOffset = blockBounds[0];
    int endOffset = blockBounds[1];
    int gHead = gBlock.getHeaderLength();
    int gFoot = gBlock.getFooterLength();
    JTextComponent editor = getEditor(category);
    StyledDocument doc = (StyledDocument) editor.getDocument();

    changed = true;

    JComboBox combo = (JComboBox) e.getSource();
    try {
        docListener.setActive(false);
        if (combo.getSelectedIndex() == 1) { // changing from default to custom
            NbDocument.unmarkGuarded(doc, startOffset, endOffset - startOffset);
            // keep last '\n' so we don't destroy next editable block's position
            doc.remove(startOffset, endOffset - startOffset - 1);
            // insert the custom code into the document
            String customCode = gBlock.getCustomCode();
            int customLength = customCode.length();
            if (gInfo.customizedCode != null) { // already was edited before
                customCode = customCode.substring(0, gHead)
                             + gInfo.customizedCode
                             + customCode.substring(customLength - gFoot);
                customLength = customCode.length();
            }
            if (customCode.endsWith("\n")) // NOI18N
                customCode = customCode.substring(0, customLength-1);
            doc.insertString(startOffset, customCode, null);
            gInfo.customized = true;
            // make guarded "header" and "footer", select the text in between
            NbDocument.markGuarded(doc, startOffset, gHead);
            NbDocument.markGuarded(doc, startOffset + customLength - gFoot, gFoot);
            editor.setSelectionStart(startOffset + gHead);
            editor.setSelectionEnd(startOffset + customLength - gFoot);
            editor.requestFocus();
            combo.setToolTipText(gBlock.getCustomEntry().getToolTipText());
        }
        else { // changing from custom to default
            // remember the customized code
            gInfo.customizedCode = doc.getText(startOffset + gHead,
                                               endOffset - gFoot - gHead - startOffset);
            NbDocument.unmarkGuarded(doc, endOffset - gFoot, gFoot);
            NbDocument.unmarkGuarded(doc, startOffset, gHead);
            // keep last '\n' so we don't destroy next editable block's position
            doc.remove(startOffset, endOffset - startOffset - 1);
            String defaultCode = gBlock.getDefaultCode();
            if (defaultCode.endsWith("\n")) // NOI18N
                defaultCode = defaultCode.substring(0, defaultCode.length()-1);
            doc.insertString(startOffset, defaultCode, null);
            gInfo.customized = false;
            // make the whole text guarded, cancel selection
            NbDocument.markGuarded(doc, startOffset, defaultCode.length()+1); // including '\n'
            if (editor.getSelectionStart() >= startOffset && editor.getSelectionEnd() <= endOffset)
                editor.setCaretPosition(startOffset);
            combo.setToolTipText(NbBundle.getMessage(CustomCodeData.class, "CTL_GuardCombo_Default_Hint")); // NOI18N
        }
        // we must create a new Position - current was moved away by inserting new string on it
        gInfo.position = NbDocument.createPosition(doc, startOffset, Position.Bias.Forward);

        docListener.setActive(true);
    }
    catch (BadLocationException ex) { // should not happen
        ErrorManager.getDefault().notify(ErrorManager.INFORMATIONAL, ex);
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:74,代码来源:CustomCodeView.java

示例15: actionPerformed

import javax.swing.text.JTextComponent; //导入方法依赖的package包/类
public void actionPerformed(ActionEvent evt) {
    Caret c = caret;
    JTextComponent component = editorUI.getComponent();

    // Also check whether the component is last focused since when undocking an editor
    // all the components' carets fire this listener and so invalid component's
    // data would get displayed in the global status bar.
    if (component != null && component == EditorRegistry.lastFocusedComponent()) {
        if (c != null) {
            BaseDocument doc = Utilities.getDocument(component);
            if (doc != null && doc.getDefaultRootElement().getElementCount()>0) {
                int pos = c.getDot();
                String s = Utilities.debugPosition(doc, pos, ":");
                if (CARET_OFFSET_LOG.isLoggable(Level.FINE)) { // Possibly add caret offset info
                    s += " <" + pos + ">"; // NOI18N
                }
                int countOfSelectedChars = component.getSelectionEnd() - component.getSelectionStart();
                final boolean hasSelection = countOfSelectedChars > 0;
                if (hasSelection) {
                    try {
                        //count of selected lines
                        int lineEnd = Utilities.getLineOffset(doc, component.getSelectionEnd());
                        int lineStart = Utilities.getLineOffset(doc, component.getSelectionStart());
                        s += "/" + (lineEnd - lineStart + 1);
                    } catch (BadLocationException ex) {
                    }
                    //count of selected characters
                    s += ":" + countOfSelectedChars;
                }
                //rows:cols/countRows:countCols
                setText(CELL_POSITION, s);
            }
        }

        Boolean b = (Boolean)editorUI.getProperty(EditorUI.OVERWRITE_MODE_PROPERTY);
        boolean om = (b != null && b.booleanValue());
        if (om != overwriteModeDisplayed) {
            overwriteModeDisplayed = om;
            setText(CELL_TYPING_MODE, overwriteModeDisplayed ? ovrText : insText);
        }
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:43,代码来源:StatusBar.java


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