📄 textcomponent.java
字号:
setCaretPosition(0);}/*************************************************************************//** * Returns a string that contains the text that is currently selected. * * @return The currently selected text region. */public synchronized StringgetSelectedText(){ String alltext = getText(); int start = getSelectionStart(); int end = getSelectionEnd(); return(alltext.substring(start, end));}/*************************************************************************//** * Returns the starting position of the selected text region. * If the text is not selected then caret position is returned. * * @return The starting position of the selected text region. */public synchronized intgetSelectionStart(){ TextComponentPeer tcp = (TextComponentPeer)getPeer(); if (tcp != null) selectionStart = tcp.getSelectionStart(); return(selectionStart);}/*************************************************************************//** * Sets the starting position of the selected region to the * specified value. If the specified value is out of range, then it * will be silently changed to the nearest legal value. * * @param selectionStart The new start position for selected text. */public synchronized voidsetSelectionStart(int selectionStart){ select(selectionStart, getSelectionEnd());}/*************************************************************************//** * Returns the ending position of the selected text region. * If the text is not selected, then caret position is returned * * @return The ending position of the selected text region. */public synchronized intgetSelectionEnd(){ TextComponentPeer tcp = (TextComponentPeer)getPeer(); if (tcp != null) selectionEnd = tcp.getSelectionEnd(); return(selectionEnd);}/*************************************************************************//** * Sets the ending position of the selected region to the * specified value. If the specified value is out of range, then it * will be silently changed to the nearest legal value. * * @param selectionEnd The new start position for selected text. */public synchronized voidsetSelectionEnd(int selectionEnd){ select(getSelectionStart(), selectionEnd);}/*************************************************************************//** * This method sets the selected text range to the text between the * specified start and end positions. Illegal values for these * positions are silently fixed. * * @param selectionStart The new start position for the selected text. * @param selectionEnd The new end position for the selected text. */public synchronized voidselect(int selectionStart, int selectionEnd){ if (selectionStart < 0) selectionStart = 0; if (selectionStart > getText().length()) selectionStart = text.length(); if (selectionEnd > text.length()) selectionEnd = text.length(); if (selectionStart > selectionEnd) selectionStart = selectionEnd; this.selectionStart = selectionStart; this.selectionEnd = selectionEnd; TextComponentPeer tcp = (TextComponentPeer)getPeer(); if (tcp != null) tcp.select(selectionStart, selectionEnd);}/*************************************************************************//** * Selects all of the text in the component. */public synchronized voidselectAll(){ select(0, getText().length());}/*************************************************************************//** * Returns the current caret position in the text. * * @return The caret position in the text. */public synchronized intgetCaretPosition(){ TextComponentPeer tcp = (TextComponentPeer)getPeer(); if (tcp != null) return(tcp.getCaretPosition()); else return(0);}/*************************************************************************//** * Sets the caret position to the specified value. * * @param caretPosition The new caret position. * * @exception IllegalArgumentException If the value supplied for position * is less than zero. * * @since 1.1 */public synchronized voidsetCaretPosition(int caretPosition){ if (caretPosition < 0) throw new IllegalArgumentException (); TextComponentPeer tcp = (TextComponentPeer)getPeer(); if (tcp != null) tcp.setCaretPosition(caretPosition);}/*************************************************************************//** * Tests whether or not this component's text can be edited. * * @return <code>true</code> if the text can be edited, <code>false</code> * otherwise. */public booleanisEditable(){ return(editable);}/*************************************************************************//** * Sets whether or not this component's text can be edited. * * @param editable <code>true</code> to enable editing of the text, * <code>false</code> to disable it. */public synchronized voidsetEditable(boolean editable){ this.editable = editable; TextComponentPeer tcp = (TextComponentPeer)getPeer(); if (tcp != null) tcp.setEditable(editable);}/*************************************************************************//** * Notifies the component that it should destroy its native peer. */public voidremoveNotify(){ super.removeNotify();}/*************************************************************************//** * Adds a new listener to the list of text listeners for this * component. * * @param listener The listener to be added. */public synchronized voidaddTextListener(TextListener listener){ textListener = AWTEventMulticaster.add(textListener, listener); enableEvents(AWTEvent.TEXT_EVENT_MASK); }/*************************************************************************//** * Removes the specified listener from the list of listeners * for this component. * * @param listener The listener to remove. */public synchronized voidremoveTextListener(TextListener listener){ textListener = AWTEventMulticaster.remove(textListener, listener);}/*************************************************************************//** * Processes the specified event for this component. Text events are * processed by calling the <code>processTextEvent()</code> method. * All other events are passed to the superclass method. * * @param event The event to process. */protected voidprocessEvent(AWTEvent event){ if (event instanceof TextEvent) processTextEvent((TextEvent)event); else super.processEvent(event);}/*************************************************************************//** * Processes the specified text event by dispatching it to any listeners * that are registered. Note that this method will only be called * if text event's are enabled. This will be true if there are any * registered listeners, or if the event has been specifically * enabled using <code>enableEvents()</code>. * * @param event The text event to process. */protected voidprocessTextEvent(TextEvent event){ if (textListener != null) textListener.textValueChanged(event);}voiddispatchEventImpl(AWTEvent e){ if (e.id <= TextEvent.TEXT_LAST && e.id >= TextEvent.TEXT_FIRST && (textListener != null || (eventMask & AWTEvent.TEXT_EVENT_MASK) != 0)) processEvent(e); else super.dispatchEventImpl(e);}/*************************************************************************//** * Returns a debugging string. * * @return A debugging string. */protected StringparamString(){ return(getClass().getName() + "(text=" + getText() + ")");} /** * Returns an array of all the objects currently registered as FooListeners * upon this <code>TextComponent</code>. FooListeners are registered using * the addFooListener method. * * @exception ClassCastException If listenerType doesn't specify a class or * interface that implements java.util.EventListener. */ public EventListener[] getListeners (Class listenerType) { if (listenerType == TextListener.class) return AWTEventMulticaster.getListeners (textListener, listenerType); return super.getListeners (listenerType); } /** * Returns all text listeners registered to this object. */ public TextListener[] getTextListeners () { return (TextListener[]) getListeners (TextListener.class); } /** * Gets the AccessibleContext associated with this <code>TextComponent</code>. * The context is created, if necessary. * * @return the associated context */ public AccessibleContext getAccessibleContext() { /* Create the context if this is the first request */ if (accessibleContext == null) accessibleContext = new AccessibleAWTTextComponent(); return accessibleContext; } /*******************************/ // Provide AccessibleAWTTextComponent access to several peer functions that // aren't publicly exposed. This is package-private to avoid an accessor // method. synchronized int getIndexAtPoint(Point p) { TextComponentPeer tcp = (TextComponentPeer)getPeer(); if (tcp != null) return tcp.getIndexAtPoint(p.x, p.y); return -1; } synchronized Rectangle getCharacterBounds(int i) { TextComponentPeer tcp = (TextComponentPeer)getPeer(); if (tcp != null) return tcp.getCharacterBounds(i); return null; } } // class TextComponent
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -