public abstract class JTextComponent extends JComponent implements Scrollable, Accessible
JTextComponent
是摆动文本组件的基础类。
它试图java.awt.TextComponent
类,可以合理地这样做。
还提供了其他服务,以获得更多的灵活性(超出可插拔的UI和bean支持)。
您可以在Java Tutorial中找到有关如何使用此类提供的功能的信息, General Rules for Using Text Components是一节。
CaretListener
已经注册与文本组件接口。
UI将安装默认插入符号,除非设置了自定义插入符号。
DefaultCaret
尝试使其自身可见,这可能导致JScrollPane中的文本组件JScrollPane
。
默认插入行为可以通过DefaultCaret.setUpdatePolicy(int)
方法更改。
Action
表示的,使用TextAction
实现。
文本组件支持的命令集可以使用getActions()
方法找到。
这些操作可以绑定到按钮等触发的关键事件。
A Keymap
允许应用程序将关键笔划绑定到操作。 为了允许键映射在多个文本组件之间共享,他们可以使用扩展TextAction
。 TextAction
可以确定最近有哪些JTextComponent
或具有焦点,因此是操作的主题(在发送到操作的ActionEvent
不包含目标文本组件作为其来源的情况下)。
input method framework允许文本组件与输入方法交互,单独的软件组件预处理事件,以便用户使用键少得多的键盘输入数千个不同的字符。 JTextComponent
是JTextComponent
的活动客户端 ,因此它实现了与输入方法交互的首选用户界面。 因此,一些关键事件不会到达文本组件,因为它们是由输入法处理的,而一些文本输入则将文本组件作为已提交的文本在InputMethodEvent
而不是关键事件中达到。 完整的文本输入是keyTyped
关键事件中的字符和输入法事件中的提交文本的组合。
AWT侦听器模型允许应用程序将事件侦听器附加到组件,以将事件绑定到操作。 Swing鼓励使用键盘映射而不是监听器,但通过为监听器提供通过使用它来窃取事件的机会来保持与监听器的兼容性。
键盘事件和输入法事件在以下阶段进行处理,每个阶段都可以消耗事件:
Stage
KeyEvent
InputMethodEvent
1. input methods (generated here) 2. focus manager 3. registered key listeners registered input method listeners 4. input method handling in JTextComponent 5. keymap handling using the current keymap 6. keyboard handling in JComponent (e.g. accelerators, component navigation, etc.)为了保持与听取关键事件但不知道输入法事件的应用程序的兼容性,第4阶段的输入法处理为不处理输入法事件的组件提供兼容性模式。 对于这些组件,承诺文本将转换为keyTyped密钥事件,并在第3阶段开始的密钥事件管道中处理,而不是在输入法事件管道中处理。
默认情况下,组件将创建一个由所有JTextComponent实例共享的键盘映射(名为DEFAULT_KEYMAP )作为默认键盘映射。 通常,外观实现将安装不同的键盘映射,解析为不同键盘映射中找不到的绑定的默认键盘映射。 最小绑定包括:
该模型由Document
界面定义。 这旨在提供灵活的文本存储机制,可以在编辑过程中跟踪变化,并可以扩展到更复杂的模型。 模型接口旨在捕获由SGML给出的表达能力,SGML是用于表示各种内容的系统。 对文件的每个修改都会将更改的详细信息通知给所有观察员,形式为DocumentEvent
,允许视图与模型保持最新。 此事件发送给观察者,已实施了DocumentListener
接口,并注意了所观察模型的兴趣。
modelToView(int)
和viewToModel(java.awt.Point)
用于确定此信息。
UndoableEdit
记录可以连同历史缓冲区提供了撤销/重做功能被使用。
支持由Document模型提供,它允许用户附加UndoableEditListener实现。
AbstractDocument
描述了提供的保护的假设。
可以安全地异步调用的方法用注释标记。
print
方法。
如果需要更高级的打印,请使用getPrintable(java.text.MessageFormat, java.text.MessageFormat)
方法。
警告:此类的序列化对象与将来的Swing版本不兼容。 当前的序列化支持适用于运行相同版本的Swing的应用程序之间的短期存储或RMI。 从1.4开始,对所有JavaBeans的长期存储的支持已经添加到java.beans
包中。 请参阅XMLEncoder
。
Document
, DocumentEvent
, DocumentListener
, Caret
, CaretEvent
, CaretListener
, TextUI
, View
, ViewFactory
Modifier and Type | Class and Description |
---|---|
class |
JTextComponent.AccessibleJTextComponent
这个类实现了可访问性支持
JTextComponent 类。
|
static class |
JTextComponent.DropLocation
代表了一个放置位置
JTextComponent 秒。
|
static class |
JTextComponent.KeyBinding
用于创建密钥绑定的绑定记录。
|
JComponent.AccessibleJComponent
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Modifier and Type | Field and Description |
---|---|
static String |
DEFAULT_KEYMAP
所有
JTextComponent 实例将共享的默认键盘映射,除非它们具有不同的键映射集。
|
static String |
FOCUS_ACCELERATOR_KEY
焦点加速器的绑定属性名称。
|
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor and Description |
---|
JTextComponent()
创建一个新的
JTextComponent 。
|
Modifier and Type | Method and Description |
---|---|
void |
addCaretListener(CaretListener listener)
添加插入符号侦听器以通知插入符的任何更改。
|
void |
addInputMethodListener(InputMethodListener l)
添加指定的输入法侦听器以从该组件接收输入法事件。
|
static Keymap |
addKeymap(String nm, Keymap parent)
在键盘层次结构中添加一个新的键盘映射。
|
void |
copy()
将相关文本模型中的当前选定范围传输到系统剪贴板,将文本模型中的内容留下。
|
void |
cut()
将相关文本模型中当前选定的范围传输到系统剪贴板,从模型中删除内容。
|
protected void |
fireCaretUpdate(CaretEvent e)
通知所有在此事件类型上通知有兴趣的听众。
|
AccessibleContext |
getAccessibleContext()
获取
AccessibleContext 与此相关
JTextComponent 。
|
Action[] |
getActions()
获取编辑器命令列表。
|
Caret |
getCaret()
获取允许通过视图进行文本导向的插入符号。
|
Color |
getCaretColor()
获取当前用于渲染插入符号的颜色。
|
CaretListener[] |
getCaretListeners()
返回在此文本组件上注册的所有插入符号侦听器的数组。
|
int |
getCaretPosition()
返回文本组件的文本插入符号的位置。
|
Color |
getDisabledTextColor()
获取用于呈现禁用的文本的当前颜色。
|
Document |
getDocument()
获取与编辑器相关联的模型。
|
boolean |
getDragEnabled()
返回是否启用自动拖动处理。
|
JTextComponent.DropLocation |
getDropLocation()
返回该组件应在视觉上作为放置位置的DnD操作期间组件上方指示,或位置
null 如果没有位置是当前被显示。
|
DropMode |
getDropMode()
返回此组件的放置模式。
|
char |
getFocusAccelerator()
返回将导致接收文本组件获得焦点的关键加速器。
|
Highlighter |
getHighlighter()
获取负责制作亮点的对象。
|
InputMethodRequests |
getInputMethodRequests()
获取支持该组件输入法的请求的输入法请求处理程序。
|
Keymap |
getKeymap()
获取此文本组件中当前活动的键盘图。
|
static Keymap |
getKeymap(String nm)
获取先前添加到文档的命名键盘映射。
|
Insets |
getMargin()
返回文本组件的边框和文本之间的边距。
|
NavigationFilter |
getNavigationFilter()
返回
NavigationFilter 。
|
Dimension |
getPreferredScrollableViewportSize()
返回视图组件的视口的首选大小。
|
Printable |
getPrintable(MessageFormat headerFormat, MessageFormat footerFormat)
返回
Printable 用于打印此
JTextComponent 的内容。
|
int |
getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction)
显示逻辑行或列的组件应计算将根据取向值完全暴露一行行或列的滚动增量。
|
boolean |
getScrollableTracksViewportHeight()
如果视口总是强制此
Scrollable 的高度与视口的高度相匹配,则返回true。
|
boolean |
getScrollableTracksViewportWidth()
如果视口总是强制此
Scrollable 的宽度与视口的宽度相匹配,则返回true。
|
int |
getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
显示逻辑行或列的组件应计算将根据取向值完全暴露一个新行或列的滚动增量。
|
String |
getSelectedText()
返回包含在此选择的文本
TextComponent 。
|
Color |
getSelectedTextColor()
获取用于呈现所选文本的当前颜色。
|
Color |
getSelectionColor()
获取用于渲染选择的当前颜色。
|
int |
getSelectionEnd()
返回所选文本的结束位置。
|
int |
getSelectionStart()
返回所选文本的起始位置。
|
String |
getText()
返回包含在此文字
TextComponent 。
|
String |
getText(int offs, int len)
获取由组件表示的文本的一部分。
|
String |
getToolTipText(MouseEvent event)
返回要用作
event 的工具提示的
event 。
|
TextUI |
getUI()
获取此面向文本的编辑器的用户界面工厂。
|
boolean |
isEditable()
返回指示此
TextComponent 是否可编辑的布尔值。
|
static void |
loadKeymap(Keymap map, JTextComponent.KeyBinding[] bindings, Action[] actions)
用一堆绑定加载键盘映射。
|
Rectangle |
modelToView(int pos)
将模型中的给定位置转换为视图坐标系中的一个位置。
|
void |
moveCaretPosition(int pos)
将插入符移动到一个新的位置,留下最后一次
setCaretPosition 所定义的标记。
|
protected String |
paramString()
返回此
JTextComponent 的字符串表示
JTextComponent 。
|
void |
paste()
将系统剪贴板的内容传输到关联的文本模型中。
|
boolean |
print()
一种方便的打印方法,显示打印对话框,然后打印此
JTextComponent 在
交互式模式,没有页眉或页脚文本。
|
boolean |
print(MessageFormat headerFormat, MessageFormat footerFormat)
显示打印对话框的便捷打印方法,然后以指定的页眉和页脚文本的
交互模式打印此
JTextComponent 。
|
boolean |
print(MessageFormat headerFormat, MessageFormat footerFormat, boolean showPrintDialog, PrintService service, PrintRequestAttributeSet attributes, boolean interactive)
打印
JTextComponent 的内容。
|
protected void |
processInputMethodEvent(InputMethodEvent e)
通过将此组件发送到任何已注册的
InputMethodListener 对象来处理在此组件上发生的输入方法事件。
|
void |
read(Reader in, Object desc)
从流初始化。
|
void |
removeCaretListener(CaretListener listener)
删除插入符号侦听器。
|
static Keymap |
removeKeymap(String nm)
删除以前添加到文档的命名键盘映射。
|
void |
removeNotify()
通知此组件它不再具有父组件。
|
void |
replaceSelection(String content)
用给定字符串表示的新内容替换当前所选内容。
|
protected void |
restoreComposedText()
恢复以前保存的撰写文本
saveComposedText 。
|
protected boolean |
saveComposedText(int pos)
将文字保存在指定的位置周围。
|
void |
select(int selectionStart, int selectionEnd)
选择指定的开始和结束位置之间的文本。
|
void |
selectAll()
选择
TextComponent 中的所有文本。
|
void |
setCaret(Caret c)
设置要使用的插入符号。
|
void |
setCaretColor(Color c)
设置用于渲染插入符号的当前颜色。
|
void |
setCaretPosition(int position)
设置TextComponent的文本插入插入符的
TextComponent 。
|
void |
setComponentOrientation(ComponentOrientation o)
设置用于对该组件中的元素或文本进行排序的语言敏感方向。
|
void |
setDisabledTextColor(Color c)
设置用于呈现禁用的文本的当前颜色。
|
void |
setDocument(Document doc)
将编辑器与文本文档相关联。
|
void |
setDragEnabled(boolean b)
打开或关闭自动拖动处理。
|
void |
setDropMode(DropMode dropMode)
设置此组件的下拉模式。
|
void |
setEditable(boolean b)
设置指定的布尔值以指示此
TextComponent 是否可编辑。
|
void |
setFocusAccelerator(char aKey)
设置将导致接收文本组件获得焦点的关键加速器。
|
void |
setHighlighter(Highlighter h)
设置要使用的荧光笔。
|
void |
setKeymap(Keymap map)
设置用于将事件绑定到操作的键盘映射。
|
void |
setMargin(Insets m)
在文本组件的边框和文本之间设置边距空间。
|
void |
setNavigationFilter(NavigationFilter filter)
设置
NavigationFilter 。
|
void |
setSelectedTextColor(Color c)
设置用于渲染所选文本的当前颜色。
|
void |
setSelectionColor(Color c)
设置用于渲染选择的当前颜色。
|
void |
setSelectionEnd(int selectionEnd)
将选择结束设置为指定位置。
|
void |
setSelectionStart(int selectionStart)
将选择开始设置为指定位置。
|
void |
setText(String t)
将此
TextComponent 的文本设置为指定的文本。
|
void |
setUI(TextUI ui)
为这个面向文本的编辑器设置用户界面工厂。
|
void |
updateUI()
重新加载可插拔的UI。
|
int |
viewToModel(Point pt)
将视图坐标系中的给定位置转换为模型中最近的代表位置。
|
void |
write(Writer out)
将模型的内容存储到给定的流中。
|
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
public static final String FOCUS_ACCELERATOR_KEY
public static final String DEFAULT_KEYMAP
JTextComponent
实例共享,除非它们具有不同的键映射集。
public JTextComponent()
JTextComponent
。
建立插入符事件侦听器,并安装可插入的UI。
组件被标记为可编辑。
不使用布局管理器,因为布局由文本的视图子系统管理。
文档模型设置为null
。
public TextUI getUI()
public void setUI(TextUI ui)
ui
- 工厂
public void updateUI()
getUIClassID()
。
UI的类型是TextUI
。
设置UI后调用invalidate
。
public void addCaretListener(CaretListener listener)
listener
- 要添加的侦听器
CaretEvent
public void removeCaretListener(CaretListener listener)
listener
- 要删除的侦听器
CaretEvent
public CaretListener[] getCaretListeners()
CaretListener
s或一个空数组,如果没有插入式侦听器当前注册
addCaretListener(javax.swing.event.CaretListener)
,
removeCaretListener(javax.swing.event.CaretListener)
protected void fireCaretUpdate(CaretEvent e)
e
- 事件
EventListenerList
public void setDocument(Document doc)
doc
- 要显示/编辑的文档
getDocument()
public Document getDocument()
public void setComponentOrientation(ComponentOrientation o)
Component
LayoutManager
和Component
子类将使用此属性来确定如何布局和绘制组件。
在施工时,组件的方向设置为ComponentOrientation.UNKNOWN
,表示尚未明确指定。 UNKNOWN方向的行为与ComponentOrientation.LEFT_TO_RIGHT
相同。
要设置单个组件的方向,请使用此方法。 要设置整个组件层次结构的方向,请使用applyComponentOrientation
。
该方法更改布局相关信息,因此使组件层次结构无效。
public Action[] getActions()
public void setMargin(Insets m)
Border
对象将使用此值创建适当的边距。
但是,如果在文本组件上设置了非默认边框,那么Border
对象有责任创建适当的边距空间(否则此属性将被有效地忽略)。
这将导致重新绘制组件。
将PropertyChange事件(“margin”)发送给所有侦听器。
m
- 边框和文本之间的空格
public Insets getMargin()
public void setNavigationFilter(NavigationFilter filter)
NavigationFilter
。
NavigationFilter
所使用DefaultCaret
和默认的光标移动操作,以此来限制所述光标移动。
public NavigationFilter getNavigationFilter()
NavigationFilter
。
NavigationFilter
所使用DefaultCaret
和默认的光标移动操作,以此来限制所述光标移动。
空返回值意味着光标的移动和选择不应该被限制。
public Caret getCaret()
public void setCaret(Caret c)
c
- 插入符号
getCaret()
public Highlighter getHighlighter()
public void setHighlighter(Highlighter h)
null
以禁用它。
当安装新的荧光笔时触发PropertyChange事件(“荧光笔”)。
h
- 荧光笔
getHighlighter()
public void setKeymap(Keymap map)
null
有效禁用键盘输入。
当安装新的键盘映射时,将会触发一个PropertyChange事件(“keymap”)。
map
- 键盘映射
getKeymap()
public void setDragEnabled(boolean b)
true
,组件的TransferHandler
需要为non-null
。
dragEnabled
属性的默认值为false
。
尊重这个属性的工作,并承认用户拖动手势,在于外观和感觉的实现,特别是组件的TextUI
。 当启用自动拖动处理,最外观和感觉(包括那些继承BasicLookAndFeel
),开始一拖每当用户按下在选择鼠标左键,然后将鼠标移动几个像素拖放操作。 因此,将此属性设置为true
可以对选择行为如何产生微妙的影响。
如果使用忽略此属性的外观,您仍然可以通过调用exportAsDrag
上的exportAsDrag来开始拖放TransferHandler
。
b
- 是否启用自动拖动处理
HeadlessException
- 如果
b
是
true
和
GraphicsEnvironment.isHeadless()
返回
true
GraphicsEnvironment.isHeadless()
, getDragEnabled()
, JComponent.setTransferHandler(javax.swing.TransferHandler)
, TransferHandler
public boolean getDragEnabled()
dragEnabled
属性
setDragEnabled(boolean)
public final void setDropMode(DropMode dropMode)
DropMode.USE_SELECTION
。
用法DropMode.INSERT
建议,但是,改进的用户体验。
它提供了类似的行为,在文本位置之间删除,但这样做,而不影响实际的文本选择和插入位置。
JTextComponents
支持以下丢弃模式:
DropMode.USE_SELECTION
DropMode.INSERT
如果该组件有TransferHandler
接受丢弃,则丢弃模式才有意义。
dropMode
- 使用的下拉模式
IllegalArgumentException
- 如果不支持拖放模式或
null
getDropMode()
, getDropLocation()
, JComponent.setTransferHandler(javax.swing.TransferHandler)
, TransferHandler
public final DropMode getDropMode()
setDropMode(javax.swing.DropMode)
public final JTextComponent.DropLocation getDropLocation()
null
如果没有位置是当前被显示。
此方法不适用于从TransferHandler
查询放置位置,因为放置位置仅在TransferHandler
的canImport
已返回并已允许显示位置之后设置。
当此属性更改时,组件将触发名为“dropLocation”的属性更改事件。
setDropMode(javax.swing.DropMode)
,
TransferHandler.canImport(TransferHandler.TransferSupport)
public Keymap getKeymap()
public static Keymap addKeymap(String nm, Keymap parent)
nm
- 键映射的名称(在文档中的命名键映射的集合中必须是唯一的);
如果键盘映射未命名,则名称可能为null
,但是调用者负责管理返回的引用,因为未命名的键盘映射无法通过名称获取
parent
- 父键映射;
如果未指定的绑定不需要在某些其他键盘映射中解决,那么这可能是null
public static Keymap removeKeymap(String nm)
null
名称的null
可能不会以此方式删除。
nm
- 要删除的键盘映射的名称
public static Keymap getKeymap(String nm)
null
命名的键盘映射。
nm
- 键盘映射的名称
public static void loadKeymap(Keymap map, JTextComponent.KeyBinding[] bindings, Action[] actions)
用一堆绑定加载键盘映射。 这可以用来取一个静态的定义表,并把它们加载到一些keymap中。 以下示例说明将某些键绑定到与JTextComponent关联的剪切,复制和粘贴操作的示例。 完成此操作的代码片段可能如下所示:
static final JTextComponent.KeyBinding[] defaultBindings = { new JTextComponent.KeyBinding( KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_MASK), DefaultEditorKit.copyAction), new JTextComponent.KeyBinding( KeyStroke.getKeyStroke(KeyEvent.VK_V, InputEvent.CTRL_MASK), DefaultEditorKit.pasteAction), new JTextComponent.KeyBinding( KeyStroke.getKeyStroke(KeyEvent.VK_X, InputEvent.CTRL_MASK), DefaultEditorKit.cutAction), }; JTextComponent c = new JTextPane(); Keymap k = c.getKeymap(); JTextComponent.loadKeymap(k, defaultBindings, c.getActions());
绑定和操作的集合可能为空,但必须为非null
。
map
- 键盘映射
bindings
- 绑定
actions
- 一组动作
public Color getCaretColor()
public void setCaretColor(Color c)
null
有效地恢复默认颜色。
设置颜色会导致PropertyChange事件(“caretColor”)被触发。
c
- 颜色
getCaretColor()
public Color getSelectionColor()
public void setSelectionColor(Color c)
null
与设置Color.white
相同。
设置颜色会导致PropertyChange事件(“selectionColor”)。
c
- 颜色
getSelectionColor()
public Color getSelectedTextColor()
public void setSelectedTextColor(Color c)
null
相同Color.black
。
设置颜色会导致PropertyChange事件(“selectedTextColor”)被触发。
c
- 颜色
getSelectedTextColor()
public Color getDisabledTextColor()
public void setDisabledTextColor(Color c)
c
- 颜色
getDisabledTextColor()
public void replaceSelection(String content)
这是由用于插入绑定到键盘映射操作的内容的动作的默认实现使用的方法。
content
- 用于替换选择的内容
public String getText(int offs, int len) throws BadLocationException
offs
- 偏移量为0
len
- 长度
len
BadLocationException
- 如果偏移或长度无效
public Rectangle modelToView(int pos) throws BadLocationException
pos
- 位置
pos
0
BadLocationException
- 如果给定的位置不表示相关文档中的有效位置
TextUI.modelToView(javax.swing.text.JTextComponent, int)
public int viewToModel(Point pt)
pt
- 视图中的位置翻译
TextUI.viewToModel(javax.swing.text.JTextComponent, java.awt.Point)
public void cut()
null
选择什么也没有。
public void copy()
null
选择什么也没有。
public void paste()
public void moveCaretPosition(int pos)
setCaretPosition
所定义的标记。
这形成一个选择。
如果文件是null
,什么都不做。
该位置必须介于0和组件文本的长度之间,否则抛出异常。
pos
- 的位置
IllegalArgumentException
- 如果为
position
提供的值小于零或大于组件的文本长度
setCaretPosition(int)
public void setFocusAccelerator(char aKey)
aKey
- 关键
getFocusAccelerator()
public char getFocusAccelerator()
public void read(Reader in, Object desc) throws IOException
in
- 要读取的流
desc
- 描述流的对象;
这可能是字符串,文件,URL等。某些类型的文档(例如html)可能可以使用这些信息;
如果null
,则作为文档的属性添加
IOException
- 被用于初始化的流抛出
EditorKit.createDefaultDocument()
, setDocument(javax.swing.text.Document)
, PlainDocument
public void write(Writer out) throws IOException
out
- 输出流
IOException
- 在任何I / O错误
public void removeNotify()
JComponent
KeyboardAction
。
该方法在内部被工具包调用,不应该被程序直接调用。
public void setCaretPosition(int position)
TextComponent
。
请注意,插入符号跟踪更改,因此,如果组件的底层文本已更改,则可能会移动。
如果文件是null
,什么都不做。
该位置必须介于0和组件文本的长度之间,否则抛出异常。
position
- 职位
IllegalArgumentException
- 如果为
position
提供的值小于零或大于组件的文本长度
public int getCaretPosition()
public void setText(String t)
TextComponent
的文本设置为指定的文本。
如果文字为null
或为空,则具有简单删除旧文本的效果。
当插入文本时,生成的插入符位置由插入符类的实现确定。
请注意,文本不是绑定属性,因此在更改时不会PropertyChangeEvent
。 要收听对文本的更改,请使用DocumentListener
。
t
- 要设置的新文本
getText(int, int)
, DefaultCaret
public String getText()
TextComponent
。
如果基础文件是null
,会给一个NullPointerException
。
请注意,文本不是绑定属性,因此在更改时不会PropertyChangeEvent
。
要收听对文本的更改,请使用DocumentListener
。
NullPointerException
- 如果文件是
null
setText(java.lang.String)
public String getSelectedText()
TextComponent
。
如果选择为null
或文档为空,则返回null
。
IllegalArgumentException
- 如果选择由于某种原因没有对文档的有效映射
setText(java.lang.String)
public boolean isEditable()
TextComponent
是否可编辑的布尔值。
setEditable(boolean)
public void setEditable(boolean b)
TextComponent
是否可编辑。
当状态更改时触发PropertyChange事件(“editable”)。
b
- 要设置的布尔值
isEditable()
public int getSelectionStart()
public void setSelectionStart(int selectionStart)
这可用于向后兼容到java.awt.TextComponent上称为此方法的java.awt.TextComponent
。 这是实现转发到Caret
实现,这是维护实际选择的地方。
selectionStart
- 文本的起始位置
selectionStart
public int getSelectionEnd()
public void setSelectionEnd(int selectionEnd)
这可用于向后兼容java.awt.TextComponent调用此方法的java.awt.TextComponent
。 这是实现为转发到Caret
实现,这是实际选择的维护。
selectionEnd
- 文本的最终位置Â¥0
public void select(int selectionStart, int selectionEnd)
该方法设置所选文本的开始和结束位置,强制开始位置必须大于或等于零的限制。 结束位置必须大于或等于起始位置,小于或等于文本组件文本的长度。
如果调用者提供不一致或超出范围的值,则该方法将静默地强制执行这些约束,并且不会失败。 具体来说,如果起始位置或结束位置大于文本的长度,则将其重置为等于文本长度。 如果起始位置小于零,则将其复位为零,如果最终位置小于起始位置,则将其复位到起始位置。
此呼叫用于向后兼容。 它被路由到一个呼叫setCaretPosition
随后调用moveCaretPosition
。 管理选择的首选方法是直接调用这些方法。
selectionStart
- 文本的起始位置
selectionEnd
- 文本的最终位置
setCaretPosition(int)
,
moveCaretPosition(int)
public void selectAll()
TextComponent
中的所有文本。
null
或空文件null
。
public String getToolTipText(MouseEvent event)
event
的工具提示的event
。
这将返回以下之一:
setToolTipText
被调用了非null
值,那么它将被返回,否则 getToolTipText
的值将被返回。 JTextComponent
不会自动注册ToolTipManager
。
这意味着工具提示将不会显示在TextUI
,除非registerComponent
已被调用ToolTipManager
。
getToolTipText
在
JComponent
类
event
- 有关事件
event
JComponent.setToolTipText(java.lang.String)
,
TextUI.getToolTipText(javax.swing.text.JTextComponent, java.awt.Point)
,
ToolTipManager.registerComponent(javax.swing.JComponent)
public Dimension getPreferredScrollableViewportSize()
getPreferredScrollableViewportSize
在接口
Scrollable
preferredSize
的
JViewport
的看法是这
Scrollable
JComponent.getPreferredSize()
public int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
这样做的默认实现是简单地返回10%的可见区域。 子类可能能够提供更合理的价值。
getScrollableUnitIncrement
在接口
Scrollable
visibleRect
- 在视口内可见的视图区域
orientation
-
SwingConstants.VERTICAL
或
SwingConstants.HORIZONTAL
direction
- 向上/向左滚动小于0,向下/向右大于零
IllegalArgumentException
- 针对无效方向
JScrollBar.setUnitIncrement(int)
public int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction)
这样做的默认实现是简单地返回可见区域。 子类可能会提供更合理的价值。
getScrollableBlockIncrement
在界面
Scrollable
visibleRect
- 在视口内可见的视图区域
orientation
-
SwingConstants.VERTICAL
或
SwingConstants.HORIZONTAL
direction
- 向上/向左滚动小于0,向下/向右大于零
IllegalArgumentException
- 针对无效方向
JScrollBar.setBlockIncrement(int)
public boolean getScrollableTracksViewportWidth()
Scrollable
的宽度与视口的宽度相匹配,则返回true。
例如,支持换行的常规文本视图在此处将返回true,因为包装线条不会超出视口右边缘消失。
请注意,对于Scrollable
,其祖先是JScrollPane
有效地禁止水平滚动返回true。
滚动容器,如JViewport
,每次JViewport
时都会使用此方法。
getScrollableTracksViewportWidth
在界面
Scrollable
Scrollable
的宽度与其自身匹配,则为true
public boolean getScrollableTracksViewportHeight()
Scrollable
的高度与视口的高度相匹配,则返回true。
例如,从左到右列流动文本的柱状文本视图可以通过在此返回true来有效地禁用垂直滚动。
滚动容器,如JViewport
,将在每次JViewport
时使用此方法。
getScrollableTracksViewportHeight
在接口
Scrollable
public boolean print() throws PrinterException
JTextComponent
在交互式模式,没有页眉或页脚文本。
注意:此方法将阻止打印完成。
注意:在无头模式下,不会显示任何对话框。
该方法调用全功能print
方法进行打印。
true
,除非用户取消打印
PrinterException
- 如果打印系统中的错误导致作业中止
SecurityException
- 如果此线程不允许启动打印作业请求
print(MessageFormat, MessageFormat, boolean, PrintService, PrintRequestAttributeSet, boolean)
public boolean print(MessageFormat headerFormat, MessageFormat footerFormat) throws PrinterException
JTextComponent
。
注意:此方法将阻止打印完成。
注意:在无头模式下,不会显示任何对话框。
该方法调用全功能print
方法进行打印。
headerFormat
- 文本,在
MessageFormat
,用作标题,或
null
无标题
footerFormat
- 文字,
MessageFormat
,用作页脚,或
null
为无页脚
true
,除非用户取消打印
PrinterException
- 如果打印系统中的错误导致作业中止
SecurityException
- 如果此线程不允许启动打印作业请求
print(MessageFormat, MessageFormat, boolean, PrintService, PrintRequestAttributeSet, boolean)
, MessageFormat
public boolean print(MessageFormat headerFormat, MessageFormat footerFormat, boolean showPrintDialog, PrintService service, PrintRequestAttributeSet attributes, boolean interactive) throws PrinterException
JTextComponent
的内容。
注意:此方法将阻止打印完成。
页头和页脚文本可以通过提供MessageFormat
参数添加到输出。 打印代码从格式请求Strings
,提供可能包含在格式化字符串中的单个项目:表示当前页码的Integer
。
showPrintDialog boolean
参数允许您指定是否向用户显示打印对话框。 如果是这样,用户可以使用对话框来更改打印属性,甚至取消打印。
service
允许您提供打印对话框的初始PrintService
,或者在未显示对话框时指定PrintService
进行打印。
attributes
可用于提供打印对话框的初始值,或者在对话框未显示时提供任何所需属性。 attributes
可用于控制作业如何打印,例如双面或单面 。
interactive boolean
参数允许您指定是否以交互模式执行打印。 如果true
, true
过程中将显示一个具有中止选项的进度对话框。 当事件调度线程调用print
时,此对话框是模态的 , print
为非模态 。 警告 :使用interactive false
在事件分派线程上调用此方法interactive false
阻止所有事件(包括重绘)被处理直到打印完成。 只有在没有可视化GUI的应用程序打印时才建议使用。
注意:在无头模式下, showPrintDialog
和interactive
参数被忽略,不显示对话框。
这种方法可确保document
在打印过程中不被突变。 为了在视觉上指示, setEnabled(false)
设置为打印持续时间。
此方法使用getPrintable(java.text.MessageFormat, java.text.MessageFormat)
来呈现文档内容。
这种方法是线程安全的,尽管大多数Swing方法都不是。 请参阅Concurrency in Swing了解更多信息。
样品用法 。 此代码段显示跨平台打印对话框,然后以交互模式打印JTextComponent
,除非用户取消对话框:
textComponent.print(new MessageFormat("My text component header"),
new MessageFormat("Footer. Page - {0}"), true, null, null, true);
执行该代码从事件指派线程在后台进行打印。 以下图案可能用于背景打印:
FutureTask<Boolean> future =
new FutureTask<Boolean>(
new Callable<Boolean>() {
public Boolean call() {
return textComponent.print(.....);
}
});
executor.execute(future);
headerFormat
- 文字,在
MessageFormat
,用作标题,或
null
为无标题
footerFormat
- 文字,
MessageFormat
,作为页脚使用,或
null
无页脚
showPrintDialog
-
true
以显示打印对话框,
false
false
service
- 初始
PrintService
或默认的
null
attributes
- 要应用于打印作业的作业
null
,或
null
for none
interactive
- 是否以交互模式打印
true
,除非用户取消打印
PrinterException
- 如果打印系统中的错误导致作业中止
SecurityException
- 如果此线程不允许启动打印作业请求
getPrintable(java.text.MessageFormat, java.text.MessageFormat)
, MessageFormat
, GraphicsEnvironment.isHeadless()
, FutureTask
public Printable getPrintable(MessageFormat headerFormat, MessageFormat footerFormat)
Printable
用于打印此JTextComponent
的内容。
返回的Printable
打印文档,除了重新格式化以适合纸张外,在屏幕上显示。
返回的Printable
可以包裹在另一个Printable
中,以创建复杂的报告和文档。
该document
与Printable
共享document
与此JTextComponent
。 开发人员有责任确保document
不被突变,而使用此Printable
。 document
在打印过程中突变时,打印行为未定义。
页头和页脚文本可以通过提供MessageFormat
参数添加到输出。 打印代码从格式请求Strings
,提供可能包含在格式化字符串中的单个项目:表示当前页码的Integer
。
返回的Printable
打印时,为页面大小适当地格式化文档内容。 为了正确的换行,所有页面的imageable width
必须相同。 见PageFormat.getImageableWidth()
。
这种方法是线程安全的,尽管大多数Swing方法都不是。 有关详细信息 ,请参阅Concurrency in Swing。
返回的Printable
可以打印在任何线程上。
此实现返回Printable
在事件分派线程上执行所有绘画,无论使用什么线程。
headerFormat
- 文本,在
MessageFormat
,用作标题,或
null
无标题
footerFormat
- 文字,
MessageFormat
,用作页脚,或
null
为无页脚
Printable
用于打印这个
JTextComponent
内容
Printable
, PageFormat
, Document.render(java.lang.Runnable)
public AccessibleContext getAccessibleContext()
AccessibleContext
与此相关JTextComponent
。
对于文本组件,该AccessibleContext
需要一个形式AccessibleJTextComponent
。
如有必要,将创建一个新的AccessibleJTextComponent
实例。
getAccessibleContext
在接口
Accessible
getAccessibleContext
在
Component
AccessibleJTextComponent
,作为这个
AccessibleContext
的
JTextComponent
protected String paramString()
JTextComponent
的字符串表示JTextComponent
。
该方法仅用于调试目的,并且返回的字符串的内容和格式可能因实现而异。
返回的字符串可能为空,但可能不是null
。
覆盖paramString
以提供有关JFC组件特定新方面的信息。
paramString
在
JComponent
JTextComponent
的字符串表示
JTextComponent
protected void processInputMethodEvent(InputMethodEvent e)
Component
InputMethodListener
对象来处理在此组件上发生的输入方法事件。
除非为此组件启用输入方法事件,否则不调用此方法。 当发生以下其中一种情况时,将启用输入法事件:
InputMethodListener
对象通过addInputMethodListener
。 enableEvents
启用输入法事件。 请注意,如果事件参数为null
,行为是未指定的,可能会导致异常。
public InputMethodRequests getInputMethodRequests()
Component
InputMethodRequests
必须覆盖此方法以返回InputMethodRequests
实例。
同时,它也必须处理输入法事件。
getInputMethodRequests
在
Component
null
默认
Component.addInputMethodListener(java.awt.event.InputMethodListener)
public void addInputMethodListener(InputMethodListener l)
Component
getInputMethodRequests
以返回一个InputMethodRequests
实例,那么它只会从输入法接收输入法事件。
如果监听器l
为null
,则不抛出任何异常,也不执行任何操作。
请参阅AWT Threading Issues有关AWT的线程模型的细节。
protected boolean saveComposedText(int pos)
pos
- 用于识别组合文本位置的文档位置
true
如果组合文本存在并保存,
false
false
restoreComposedText()
protected void restoreComposedText()
saveComposedText
。
保存的组合文本将被插入到文档中。
只有当saveComposedText
返回true
时,才能调用此方法。
saveComposedText(int)