- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.text.JTextComponent
-
- 实现的所有接口
-
ImageObserver
,MenuContainer
,Serializable
,Accessible
,Scrollable
- 已知直接子类:
-
JEditorPane
,JTextArea
,JTextField
@JavaBean(defaultProperty="UI") public abstract class JTextComponent extends JComponent implements Scrollable, Accessible
JTextComponent
是swing文本组件的基类。 它试图与java.awt.TextComponent
类兼容,它可以合理地这样做。 还提供了其他服务以提供额外的灵活性(除了可插入的UI和bean支持之外)。 您可以在“Java教程”的 General Rules for Using Text Components中找到有关如何使用此类提供的功能的信息。- 插入更改
-
插入符号是swing文本组件中的可插入对象。
将插入符号位置和选择的更改通知发送到
CaretListener
文本组件注册的CaretListener
接口的实现。 除非已设置自定义插入符,否则UI将安装默认插入符。
默认情况下,插入符号跟踪在事件调度线程上执行的所有文档更改,并相应地更新它的位置,如果插入发生在插入符号位置之前或插入符号位置或删除发生在插入符号位置之前。DefaultCaret
尝试使其自身可见,这可能导致在JScrollPane
内滚动文本组件。 可以通过DefaultCaret.setUpdatePolicy(int)
方法更改默认插入符号行为。
注意 :不可编辑的文本组件也有插入符号,但可能没有绘制。 - 命令
-
文本组件提供了许多可用于操作组件的命令。
这基本上是组件表达其功能的方式。
这些用swing
Action
接口表示,使用TextAction
实现。 可以使用getActions()
方法找到文本组件支持的命令集。 这些操作可以绑定到关键事件,从按钮触发等。 - 文字输入
-
文本组件使用键盘映射和输入方法框架支持灵活和国际化的文本输入,同时保持与AWT侦听器模型的兼容性。
Keymap
允许应用程序将键击绑定到操作。 为了允许在多个文本组件之间共享键盘映射,他们可以使用扩展TextAction
。TextAction
可以确定最近有哪些JTextComponent
或具有焦点,因此是操作的主题(在发送到操作的ActionEvent
不包含目标文本组件作为其来源的情况下)。Input Method Framework允许文本组件与输入方法交互,单独的软件组件预处理事件,让用户使用键盘少得多的键盘输入数千个不同的字符。
JTextComponent
是框架的活动客户端 ,因此它实现了与输入方法交互的首选用户界面。 因此,某些键事件不会到达文本组件,因为它们由输入方法处理,并且某些文本输入在InputMethodEvent
中作为已提交文本而不是作为键事件到达文本组件。 完整的文本输入是keyTyped
关键事件中的字符和输入方法事件中的已提交文本的组合。AWT侦听器模型允许应用程序将事件侦听器附加到组件,以便将事件绑定到操作。 Swing鼓励使用键盘映射而不是侦听器,但通过为侦听器提供通过使用它来窃取事件的机会来保持与侦听器的兼容性。
键盘事件和输入法事件在以下阶段处理,每个阶段都能够使用事件:
Stages of keyboard and input method event handling 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 )作为默认键映射。 通常,外观实现将安装不同的键映射,该键映射解析为在不同键映射中找不到的那些绑定的默认键映射。 最小的绑定包括:
- 将内容插入编辑器以获取可打印的键。
- 使用退格键和del键删除内容。
- 插入符号向前和向后移动
- 模型/视图拆分
-
文本组件具有模型视图拆分。
文本组件将用于表示模型,视图和控制器的对象组合在一起。
文本文档模型可以由充当模型的观察者的其他视图共享(例如,文档可以由多个组件共享)。
该模型由
Document
接口定义。 这旨在提供灵活的文本存储机制,可在编辑期间跟踪更改,并可扩展到更复杂的模型。 模型接口旨在捕获SGML给出的表达能力,SGML是一种用于表达各种内容的系统。 对文档的每次修改都会导致以DocumentEvent
的形式向所有观察者发送更改详细信息,以便视图与模型保持同步 。 此事件将发送给已实施DocumentListener
接口的观察者, 并对正在观察的模型注册了兴趣。 - 地点信息
-
提供了确定视图中文本位置的能力。
有两种方法,
modelToView(int)
和viewToModel(java.awt.Point)
用于确定此信息。 - 撤消/重做支持
-
提供对编辑历史机制的支持以允许撤消/重做操作。
默认情况下,文本组件本身不提供历史记录缓冲区,但提供了
UndoableEdit
记录,UndoableEdit
记录可以与历史记录缓冲区一起使用以提供撤消/重做支持。 Document模型提供了支持,允许用户附加UndoableEditListener实现。 - 线程安全
-
swing文本组件为线程安全操作提供了一些支持。
由于文本组件的高度可配置性,可以绕过所提供的保护。
保护主要来自模型,因此
AbstractDocument
的文档描述了所提供保护的假设。 可以安全地异步调用的方法用注释标记。 - 换行
- 有关如何处理换行的讨论,请参阅DefaultEditorKit 。
- 印刷支持
-
提供了几种
print
方法用于基本文档打印。 如果需要更高级的打印,请使用getPrintable(java.text.MessageFormat, java.text.MessageFormat)
方法。
警告:此类的序列化对象与以后的Swing版本不兼容。 当前的序列化支持适用于运行相同版本Swing的应用程序之间的短期存储或RMI。 从1.4开始,
java.beans
软件包中添加了对所有JavaBeansjava.beans
长期存储的支持。 请参阅XMLEncoder
。- 另请参见:
-
Document
,DocumentEvent
,DocumentListener
,Caret
,CaretEvent
,CaretListener
,TextUI
,View
,ViewFactory
, Serialized Form
-
-
嵌套类汇总
嵌套类 变量和类型 类 描述 class
JTextComponent.AccessibleJTextComponent
此类实现JTextComponent
类的可访问性支持。static class
JTextComponent.DropLocation
表示JTextComponent
的放置位置。static class
JTextComponent.KeyBinding
用于创建密钥绑定的绑定记录。-
嵌套类/接口声明在类 javax.swing.JComponent
JComponent.AccessibleJComponent
-
嵌套类/接口声明在类 java.awt.Container
Container.AccessibleAWTContainer
-
-
字段汇总
字段 变量和类型 字段 描述 static String
DEFAULT_KEYMAP
除非它们具有不同的键映射集,否则将由所有JTextComponent
实例共享的默认键映射。static String
FOCUS_ACCELERATOR_KEY
焦点加速器的绑定属性名称。-
声明的属性在类 javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
声明的属性在类 java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
Fields declared in interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
-
构造方法摘要
构造方法 构造器 描述 JTextComponent()
创建一个新的JTextComponent
。
-
方法摘要
所有方法 静态方法 实例方法 具体的方法 弃用的方法 变量和类型 方法 描述 void
addCaretListener(CaretListener listener)
添加插入符听取器以通知插入符的任何更改。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()
获取负责制作精彩部分的对象。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)
已过时。Rectangle2D
modelToView2D(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
的内容。void
read(Reader in, Object desc)
从流初始化。void
removeCaretListener(CaretListener listener)
删除插入符号侦听器。static Keymap
removeKeymap(String nm)
删除先前添加到文档中的命名键映射。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
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)
已过时。int
viewToModel2D(Point2D pt)
将视图坐标系中的给定位置转换为模型中最近的代表位置。void
write(Writer out)
将模型的内容存储到给定的流中。-
声明方法的类 javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, 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, 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, removeNotify, 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
-
声明方法的类 java.awt.Container
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
-
声明方法的类 java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
方法详细信息
-
getUI
public TextUI getUI()
获取此面向文本的编辑器的用户界面工厂。- 重写:
-
getUI
在类JComponent
- 结果
- 工厂
-
setUI
public void setUI(TextUI ui)
为此面向文本的编辑器设置用户界面工厂。- 参数
-
ui
- 工厂
-
updateUI
public void updateUI()
重新加载可插入的UI。 用于获取新接口的密钥是getUIClassID()
。 UI的类型是TextUI
。 设置UI后调用invalidate
。
-
addCaretListener
public void addCaretListener(CaretListener listener)
添加插入符听取器以通知插入符的任何更改。- 参数
-
listener
- 要添加的侦听器 - 另请参见:
-
CaretEvent
-
removeCaretListener
public void removeCaretListener(CaretListener listener)
删除插入符号侦听器。- 参数
-
listener
- 要删除的侦听器 - 另请参见:
-
CaretEvent
-
getCaretListeners
@BeanProperty(bound=false) public CaretListener[] getCaretListeners()
返回在此文本组件上注册的所有插入符侦听器的数组。- 结果
-
所有这个组件的
CaretListener
或一个空数组,如果当前没有注册的插入符听众 - 从以下版本开始:
- 1.4
- 另请参见:
-
addCaretListener(javax.swing.event.CaretListener)
,removeCaretListener(javax.swing.event.CaretListener)
-
fireCaretUpdate
protected void fireCaretUpdate(CaretEvent e)
通知所有已注册对此事件类型的通知感兴趣的听众。 使用传递给fire方法的参数延迟创建事件实例。 以最后到第一种方式处理侦听器列表。- 参数
-
e
- 活动 - 另请参见:
-
EventListenerList
-
setDocument
@BeanProperty(expert=true, description="the text document model") public void setDocument(Document doc)
将编辑器与文本文档关联。 当前注册的工厂用于构建文档的视图,在重新验证后由编辑器显示。 PropertyChange事件(“document”)传播到每个侦听器。- 参数
-
doc
- 要显示/编辑的文档 - 另请参见:
-
getDocument()
-
getDocument
public Document getDocument()
获取与编辑器关联的模型。 这主要是为了获得文本编辑器所需的最小状态。 子类将返回模型的实际类型,通常是扩展Document的东西。- 结果
- 该模型
-
getActions
@BeanProperty(bound=false) public Action[] getActions()
获取编辑器的命令列表。 这是插件UI支持的命令列表,由编辑器本身支持的命令集合增强。 这些对于绑定事件很有用,例如在键映射中。- 结果
- 命令列表
-
setMargin
@BeanProperty(description="desired space between the border and text area") public void setMargin(Insets m)
设置文本组件边框与其文本之间的边距空间。 文本组件的默认Border
对象将使用此值来创建适当的边距。 但是,如果在文本组件上设置了非默认边框,那么Border
对象有责任创建适当的边距空间(否则将有效地忽略此属性)。 这会导致重新绘制组件。 PropertyChange事件(“margin”)将发送给所有侦听器。- 参数
-
m
- 边框和文本之间的空格
-
getMargin
public Insets getMargin()
返回文本组件边框与其文本之间的边距。- 结果
- 保证金
-
setNavigationFilter
public void setNavigationFilter(NavigationFilter filter)
设置NavigationFilter
。NavigationFilter
由DefaultCaret
和默认光标移动操作用作限制光标移动的方法。- 参数
-
filter
- 过滤器 - 从以下版本开始:
- 1.4
-
getNavigationFilter
public NavigationFilter getNavigationFilter()
返回NavigationFilter
。NavigationFilter
由DefaultCaret
和默认光标移动操作用作限制光标移动的方法。 空返回值意味着光标移动和选择不应受到限制。- 结果
- NavigationFilter
- 从以下版本开始:
- 1.4
-
getCaret
public Caret getCaret()
获取允许在视图上进行面向文本导航的插入符号。- 结果
- 插入符号
-
setCaret
@BeanProperty(expert=true, description="the caret used to select/navigate") public void setCaret(Caret c)
设置要使用的插入符号。 默认情况下,这将由安装的UI设置。 如果需要,可以将其更改为自定义插入符号。 设置插入符会导致触发PropertyChange事件(“插入符号”)。- 参数
-
c
- 插入符号 - 另请参见:
-
getCaret()
-
getHighlighter
public Highlighter getHighlighter()
获取负责制作精彩部分的对象。- 结果
- 荧光笔
-
setHighlighter
@BeanProperty(expert=true, description="object responsible for background highlights") public void setHighlighter(Highlighter h)
设置要使用的突出显示器。 默认情况下,这将由安装的UI设置。 如果需要,可以将其更改为自定义荧光笔。 可以将荧光笔设置为null
以禁用它。 安装新的荧光笔时会触发PropertyChange事件(“highlighter”)。- 参数
-
h
- 荧光笔 - 另请参见:
-
getHighlighter()
-
setKeymap
@BeanProperty(description="set of key event to action bindings to use") public void setKeymap(Keymap map)
设置用于将事件绑定到操作的键映射。 设置为null
有效禁用键盘输入。 安装新的键映射时会触发PropertyChange事件(“keymap”)。- 参数
-
map
- 键映射 - 另请参见:
-
getKeymap()
-
setDragEnabled
@BeanProperty(bound=false, description="determines whether automatic drag handling is enabled") public void setDragEnabled(boolean b)
打开或关闭自动拖动处理。 为了启用自动拖动处理,此属性应设置为true
,组件的TransferHandler
需要为non-null
。dragEnabled
属性的默认值为false
。尊重此属性以及识别用户拖动手势的工作在于外观和实现,特别是组件的
TextUI
。 启用自动拖动处理后,只要用户在选区上按下鼠标按钮,然后将鼠标移动几个像素,大多数外观(包括子类BasicLookAndFeel
)都会开始拖放操作。 因此,将此属性设置为true
可能会对选择的行为产生微妙影响。如果一个外观使用的是忽略这个属性,你仍然可以开始拖拽,并通过调用拖放操作
exportAsDrag
在组件TransferHandler
。- 参数
-
b
- 是否启用自动拖动处理 - 异常
-
HeadlessException
- 如果b
是true
和GraphicsEnvironment.isHeadless()
返回true
- 从以下版本开始:
- 1.4
- 另请参见:
-
GraphicsEnvironment.isHeadless()
,getDragEnabled()
,JComponent.setTransferHandler(javax.swing.TransferHandler)
,TransferHandler
-
getDragEnabled
public boolean getDragEnabled()
返回是否启用自动拖动处理。- 结果
-
dragEnabled
属性的值 - 从以下版本开始:
- 1.4
- 另请参见:
-
setDragEnabled(boolean)
-
setDropMode
public final void setDropMode(DropMode dropMode)
设置此组件的放置模式。 为了向后兼容,此属性的默认值为DropMode.USE_SELECTION
。 但建议使用DropMode.INSERT
以改善用户体验。 它提供了类似于文本位置之间删除的行为,但这样做不会影响实际的文本选择和插入符号位置。JTextComponents
支持以下丢弃模式:-
DropMode.USE_SELECTION
-
DropMode.INSERT
只有当此组件具有接受drop的
TransferHandler
,drop mode才有意义。- 参数
-
dropMode
- 要使用的放置模式 - 异常
-
IllegalArgumentException
- 如果不支持放置模式或null
- 从以下版本开始:
- 1.6
- 另请参见:
-
getDropMode()
,getDropLocation()
,JComponent.setTransferHandler(javax.swing.TransferHandler)
,TransferHandler
-
-
getDropMode
public final DropMode getDropMode()
返回此组件的放置模式。- 结果
- 此组件的放置模式
- 从以下版本开始:
- 1.6
- 另请参见:
-
setDropMode(javax.swing.DropMode)
-
getDropLocation
@BeanProperty(bound=false) public final JTextComponent.DropLocation getDropLocation()
返回此组件在组件上的DnD操作期间应在视觉上指示为放置位置的位置,如果当前未显示任何位置,则返回null
。此方法不适用于从
TransferHandler
查询放置位置,因为放置位置仅在TransferHandler
的canImport
返回并允许显示位置后设置。当此属性更改时,组件将触发名称为“dropLocation”的属性更改事件。
- 结果
- 下降的位置
- 从以下版本开始:
- 1.6
- 另请参见:
-
setDropMode(javax.swing.DropMode)
,TransferHandler.canImport(TransferHandler.TransferSupport)
-
getKeymap
public Keymap getKeymap()
获取此文本组件中当前活动的键映射。- 结果
- 键盘图
-
addKeymap
public static Keymap addKeymap(String nm, Keymap parent)
将新的键映射添加到键映射层次结构中。 键映射绑定从下向上解析,因此子项中指定的属性将覆盖父项中指定的属性。- 参数
-
nm
- keymap的名称(在文档中的命名键映射集合中必须是唯一的); 如果键映射未命名,则名称可能是null
,但调用者负责管理返回的引用,因为无法通过名称获取未命名的键映射 -
parent
- 父键映射; 如果在某些其他键映射中无需解析未指定的绑定,则可能为null
- 结果
- 键盘图
-
removeKeymap
public static Keymap removeKeymap(String nm)
删除先前添加到文档中的命名键映射。 具有null
名称的键盘映射可能无法以这种方式删除。- 参数
-
nm
- 要删除的键映射的名称 - 结果
- 已删除的键映射
-
getKeymap
public static Keymap getKeymap(String nm)
获取先前添加到文档中的命名键映射。 这不适用于null
键盘映射。- 参数
-
nm
- 键映射的名称 - 结果
- 键盘图
-
loadKeymap
public static void loadKeymap(Keymap map, JTextComponent.KeyBinding[] bindings, Action[] actions)
用一堆绑定加载一个键映射。 这可用于获取静态定义表并将其加载到某个键映射中。 以下示例说明了将某些键绑定到与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
- 一组操作
-
getCaretColor
public Color getCaretColor()
获取用于渲染插入符的当前颜色。- 结果
- 颜色
-
setCaretColor
@BeanProperty(preferred=true, description="the color used to render the caret") public void setCaretColor(Color c)
设置用于渲染插入符的当前颜色。 设置为null
有效恢复默认颜色。 设置颜色会导致触发PropertyChange事件(“caretColor”)。- 参数
-
c
- 颜色 - 另请参见:
-
getCaretColor()
-
getSelectionColor
public Color getSelectionColor()
获取用于渲染选区的当前颜色。- 结果
- 颜色
-
setSelectionColor
@BeanProperty(preferred=true, description="color used to render selection background") public void setSelectionColor(Color c)
设置用于呈现选区的当前颜色。 将颜色设置为null
与设置Color.white
相同。 设置颜色会导致PropertyChange事件(“selectionColor”)。- 参数
-
c
- 颜色 - 另请参见:
-
getSelectionColor()
-
getSelectedTextColor
public Color getSelectedTextColor()
获取用于渲染所选文本的当前颜色。- 结果
- 颜色
-
setSelectedTextColor
@BeanProperty(preferred=true, description="color used to render selected text") public void setSelectedTextColor(Color c)
设置用于呈现所选文本的当前颜色。 将颜色设置为null
与Color.black
相同。 设置颜色会导致触发PropertyChange事件(“selectedTextColor”)。- 参数
-
c
- 颜色 - 另请参见:
-
getSelectedTextColor()
-
getDisabledTextColor
public Color getDisabledTextColor()
获取用于呈现禁用文本的当前颜色。- 结果
- 颜色
-
setDisabledTextColor
@BeanProperty(preferred=true, description="color used to render disabled text") public void setDisabledTextColor(Color c)
设置用于呈现禁用文本的当前颜色。 设置颜色会触发PropertyChange事件(“disabledTextColor”)。- 参数
-
c
- 颜色 - 另请参见:
-
getDisabledTextColor()
-
replaceSelection
public void replaceSelection(String content)
用当前字符串表示的新内容替换当前选定的内容。 如果没有选择,则相当于给定文本的插入。 如果没有替换文本,则相当于删除当前选择。这是用于插入绑定到键映射操作的内容的操作的默认实现所使用的方法。
- 参数
-
content
- 用于替换选择的内容
-
getText
public String getText(int offs, int len) throws BadLocationException
获取组件表示的部分文本。 如果length为0,则返回空字符串。- 参数
-
offs
- 偏移量offs
-
len
- 长度len
- 结果
- 文本
- 异常
-
BadLocationException
- 如果偏移量或长度无效
-
modelToView
@Deprecated(since="9") public Rectangle modelToView(int pos) throws BadLocationException
Deprecated.replaced bymodelToView2D(int)
将模型中的给定位置转换为视图坐标系中的位置。 组件必须具有正大小才能计算此转换(即,在组件已调整大小之前无法计算布局)。 该组件不必是可见的或涂漆的。- 参数
-
pos
- 职位pos
- 结果
- 坐标为矩形,其中(rx,ry)为坐标系中的位置,如果组件尚未具有正尺寸,则为null。
- 异常
-
BadLocationException
- 如果给定位置不代表关联文档中的有效位置 - 另请参见:
-
TextUI.modelToView(javax.swing.text.JTextComponent, int)
-
modelToView2D
public Rectangle2D modelToView2D(int pos) throws BadLocationException
将模型中的给定位置转换为视图坐标系中的位置。 组件必须具有正大小才能计算此转换(即,在组件已调整大小之前无法计算布局)。 该组件不必是可见的或涂漆的。- 参数
-
pos
- 职位>= 0
- 结果
- 坐标为矩形,其中(rx,ry)为坐标系中的位置,如果组件尚未具有正尺寸,则为null。
- 异常
-
BadLocationException
- 如果给定位置不代表关联文档中的有效位置 - 从以下版本开始:
- 9
- 另请参见:
-
TextUI.modelToView2D(javax.swing.text.JTextComponent, int, javax.swing.text.Position.Bias)
-
viewToModel
@Deprecated(since="9") public int viewToModel(Point pt)
Deprecated.replaced byviewToModel2D(Point2D)
将视图坐标系中的给定位置转换为模型中最近的代表位置。 组件必须具有正大小才能计算此转换(即,在组件已调整大小之前无法计算布局)。 该组件不必是可见的或涂漆的。- 参数
-
pt
- 要翻译的视图中的位置 - 结果
- 从文档开头的偏移量≥0,如果组件尚未具有正尺寸,则为-1。
- 另请参见:
-
TextUI.viewToModel(javax.swing.text.JTextComponent, java.awt.Point)
-
viewToModel2D
public int viewToModel2D(Point2D pt)
将视图坐标系中的给定位置转换为模型中最近的代表位置。 组件必须具有正大小才能计算此转换(即,在组件已调整大小之前无法计算布局)。 该组件不必是可见的或涂漆的。- 参数
-
pt
- 要翻译的视图中的位置 - 结果
-
从文档开头的偏移
>= 0
,如果组件尚未具有正大小,-1
。 - 从以下版本开始:
- 9
- 另请参见:
-
TextUI.viewToModel2D(javax.swing.text.JTextComponent, java.awt.geom.Point2D, javax.swing.text.Position.Bias[])
-
cut
public void cut()
将关联文本模型中当前选定的范围传输到系统剪贴板,从模型中删除内容。 当前选择被重置。 对null
选项没有任何null
。
-
copy
public void copy()
将关联文本模型中当前选定的范围传输到系统剪贴板,将内容保留在文本模型中。 当前选择保持不变。 对null
选项没有任何null
。
-
paste
public void paste()
将系统剪贴板的内容传输到关联的文本模型中。 如果关联视图中有选择,则将其替换为剪贴板的内容。 如果没有选择,则剪贴板内容将插入关联视图中当前插入位置的前面。 如果剪贴板为空,则不执行任何操作。
-
moveCaretPosition
public void moveCaretPosition(int pos)
将插入符移动到新位置,留下上次调用setCaretPosition
时定义的标记。 这形成了一个选择。 如果文件是null
,什么都不做。 位置必须介于0和组件文本的长度之间,否则抛出异常。- 参数
-
pos
- 职位 - 异常
-
IllegalArgumentException
- 如果为position
提供的值小于零或大于组件的文本长度 - 另请参见:
-
setCaretPosition(int)
-
setFocusAccelerator
@BeanProperty(description="accelerator character used to grab focus") public void setFocusAccelerator(char aKey)
设置将使接收文本组件获得焦点的键加速器。 加速器将是特定于平台的修改键和给定字符的关键组合(转换为大写)。 例如,ALT键在Windows上用作修饰符,在Mac上使用CTRL + ALT组合。 默认情况下,没有焦点加速键。 之前的任何关键加速器设置都将被取代。 将注册'\ 0'键设置,并具有关闭聚焦加速器的效果。 设置新密钥后,将触发PropertyChange事件(FOCUS_ACCELERATOR_KEY)。- 参数
-
aKey
- 关键 - 另请参见:
-
getFocusAccelerator()
-
getFocusAccelerator
public char getFocusAccelerator()
返回将导致接收文本组件获得焦点的键加速器。 如果未设置聚焦加速器,则返回'\ 0'。- 结果
- 钥匙
-
read
public void read(Reader in, Object desc) throws IOException
从流初始化。 这将创建适合该组件的类型的模型,并从流初始化模型。 默认情况下,这会将模型加载为纯文本。 该模型的先前内容被丢弃。- 参数
-
in
- 要读取的流 -
desc
- 描述流的对象; 这可能是一个字符串,一个文件,一个URL等。某些类型的文档(例如html)可能能够利用这些信息; 如果非null
,则将其添加为文档的属性 - 异常
-
IOException
- 由用于初始化的流抛出 - 另请参见:
-
EditorKit.createDefaultDocument()
,setDocument(javax.swing.text.Document)
,PlainDocument
-
write
public void write(Writer out) throws IOException
将模型的内容存储到给定的流中。 默认情况下,这会将模型存储为纯文本。- 参数
-
out
- 输出流 - 异常
-
IOException
- 关于任何I / O错误
-
setCaretPosition
@BeanProperty(bound=false, description="the caret position") public void setCaretPosition(int position)
设置TextComponent
的文本插入符号的TextComponent
。 请注意,插入符号跟踪更改,因此如果组件的基础文本发生更改,则可能会移动。 如果文档是null
,则什么都不做。 位置必须介于0和组件文本的长度之间,否则抛出异常。- 参数
-
position
- 职位 - 异常
-
IllegalArgumentException
- 如果为position
提供的值小于零或大于组件的文本长度
-
getCaretPosition
public int getCaretPosition()
返回文本组件的文本插入插入符的位置。- 结果
- 文本组件的文本插入插入符号的位置≥0
-
setText
@BeanProperty(bound=false, description="the text of this component") public void setText(String t)
将此TextComponent
的文本设置为指定的文本。 如果文本为null
或为空,则具有简单删除旧文本的效果。 插入文本后,生成的插入符号位置由插入符类的实现决定。请注意,文本不是绑定属性,因此更改时不会
PropertyChangeEvent
。 要收听对文本的更改,请使用DocumentListener
。- 参数
-
t
- 要设置的新文本 - 另请参见:
-
getText(int, int)
,DefaultCaret
-
getText
public String getText()
返回此TextComponent
包含的文本。 如果基础文件是null
,则会给出NullPointerException
。 请注意,文本不是绑定属性,因此更改时不会PropertyChangeEvent
。 要侦听对文本的更改,请使用DocumentListener
。- 结果
- 文本
- 异常
-
NullPointerException
- 如果文档是null
- 另请参见:
-
setText(java.lang.String)
-
getSelectedText
@BeanProperty(bound=false) public String getSelectedText()
返回此TextComponent
包含的选定文本。 如果选择为null
或文档为空,则返回null
。- 结果
- 文本
- 异常
-
IllegalArgumentException
- 如果由于某种原因选择没有有效的映射到文档中 - 另请参见:
-
setText(java.lang.String)
-
isEditable
public boolean isEditable()
返回指示此TextComponent
是否可编辑的布尔值。- 结果
- 布尔值
- 另请参见:
-
setEditable(boolean)
-
setEditable
@BeanProperty(description="specifies if the text can be edited") public void setEditable(boolean b)
设置指定的布尔值以指示此TextComponent
是否应该可编辑。 更改状态时会触发PropertyChange事件(“editable”)。- 参数
-
b
- 要设置的布尔值 - 另请参见:
-
isEditable()
-
getSelectionStart
public int getSelectionStart()
返回所选文本的开始位置。 对于空文档返回0,如果没有选择则返回点值。- 结果
- 起始位置≥0
-
setSelectionStart
@BeanProperty(bound=false, description="starting location of the selection.") public void setSelectionStart(int selectionStart)
将选择开始设置为指定位置。 新起点被限制在当前选择结束之前或当前选择结束时。这可用于向后兼容在
java.awt.TextComponent
上调用此方法的代码。 实现这是为了转发到实现选择的Caret
实现。- 参数
-
selectionStart
- 文本的起始位置selectionStart
-
getSelectionEnd
public int getSelectionEnd()
返回所选文本的结束位置。 如果文档为空则返回0,如果没有选择则返回dot的值。- 结果
- 结束位置≥0
-
setSelectionEnd
@BeanProperty(bound=false, description="ending location of the selection.") public void setSelectionEnd(int selectionEnd)
将选择结束设置为指定位置。 新的终点被限制在当前选择开始时或之后。这可用于向后兼容在
java.awt.TextComponent
上调用此方法的代码。 实现这是为了转发到实现选择的Caret
实现。- 参数
-
selectionEnd
- 文本的结束位置selectionEnd
-
select
public void select(int selectionStart, int selectionEnd)
选择指定的开始和结束位置之间的文本。此方法设置所选文本的开始和结束位置,强制执行起始位置必须大于或等于零的限制。 结束位置必须大于或等于起始位置,并且小于或等于文本组件文本的长度。
如果调用者提供的值不一致或超出范围,则该方法将以静默方式强制执行这些约束,并且不会出现故障。 具体来说,如果开始位置或结束位置大于文本的长度,则将其重置为等于文本长度。 如果起始位置小于零,则将其重置为零,如果结束位置小于起始位置,则将其重置为起始位置。
此调用是为了向后兼容而提供的。 它被路由到
setCaretPosition
然后拨打moveCaretPosition
。 管理选择的首选方法是直接调用这些方法。- 参数
-
selectionStart
- 文本的开始位置 -
selectionEnd
- 文本的结束位置 - 另请参见:
-
setCaretPosition(int)
,moveCaretPosition(int)
-
selectAll
public void selectAll()
选择TextComponent
中的所有文本。 在null
或空文档上什么都不做。
-
getToolTipText
public String getToolTipText(MouseEvent event)
返回用作event
的工具提示的event
。 这将返回以下之一:- 如果
setToolTipText
已经调用了非null
值,它会被退回,否则 - 将返回在UI上调用
getToolTipText
的值。
JTextComponent
不会将自身注册到ToolTipManager
。 这意味着,工具提示将不会从显示TextUI
除非registerComponent
已被调用的ToolTipManager
。- 重写:
-
getToolTipText
在类JComponent
- 参数
-
event
- 有问题的事件 - 结果
-
要用作
event
的工具提示的event
- 另请参见:
-
JComponent.setToolTipText(java.lang.String)
,TextUI.getToolTipText(javax.swing.text.JTextComponent, java.awt.Point)
,ToolTipManager.registerComponent(javax.swing.JComponent)
- 如果
-
getPreferredScrollableViewportSize
@BeanProperty(bound=false) public Dimension getPreferredScrollableViewportSize()
返回视图组件的视口的首选大小。 实现此操作是为了执行返回组件的首选大小的默认行为。- Specified by:
-
getPreferredScrollableViewportSize
在界面Scrollable
- 结果
-
preferredSize
的JViewport
其视图为Scrollable
- 另请参见:
-
JComponent.getPreferredSize()
-
getScrollableUnitIncrement
public int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
显示逻辑行或列的组件应计算滚动增量,该增量将完全显示一个新行或列,具体取决于方向的值。 理想情况下,组件应通过返回完全暴露项目所需的距离来处理部分暴露的行或列。默认的实现是简单地返回10%的可见区域。 子类可能能够提供更合理的价值。
- Specified by:
-
getScrollableUnitIncrement
在界面Scrollable
- 参数
-
visibleRect
- 视口中可见的视图区域 -
orientation
-SwingConstants.VERTICAL
或SwingConstants.HORIZONTAL
-
direction
- 向上/向左滚动小于零,向下/向右滚动大于零 - 结果
- 用于在指定方向上滚动的“单位”增量
- 异常
-
IllegalArgumentException
- 用于无效的方向 - 另请参见:
-
JScrollBar.setUnitIncrement(int)
-
getScrollableBlockIncrement
public int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction)
显示逻辑行或列的组件应计算滚动增量,该增量将完全显示一个行或列的块,具体取决于方向的值。这个的默认实现是简单地返回可见区域。 子类可能会提供更合理的价值。
- Specified by:
-
getScrollableBlockIncrement
接口Scrollable
- 参数
-
visibleRect
- 视口中可见的视图区域 -
orientation
-SwingConstants.VERTICAL
或SwingConstants.HORIZONTAL
-
direction
- 向上/向左滚动小于零,向下/向右滚动大于零 - 结果
- 滚动指定方向的“块”增量
- 异常
-
IllegalArgumentException
- 用于无效的方向 - 另请参见:
-
JScrollBar.setBlockIncrement(int)
-
getScrollableTracksViewportWidth
@BeanProperty(bound=false) public boolean getScrollableTracksViewportWidth()
如果视口应始终强制此Scrollable
的宽度与视口的宽度匹配,则返回true。 例如,支持换行的普通文本视图在此处返回true,因为包裹的行不希望超出视口的右边缘消失。 请注意,对于其祖先为JScrollPane
的Scrollable
,返回trueJScrollPane
有效禁用水平滚动。滚动容器(如
JViewport
)将在每次验证时使用此方法。- Specified by:
-
getScrollableTracksViewportWidth
在界面Scrollable
- 结果
-
如果视口应强制
Scrollable
的宽度与其自身匹配,Scrollable
true
-
getScrollableTracksViewportHeight
@BeanProperty(bound=false) public boolean getScrollableTracksViewportHeight()
如果视口应始终强制此Scrollable
的高度与视口的高度匹配,则返回true。 例如,从左到右列流动文本的柱状文本视图可以通过在此处返回true来有效地禁用垂直滚动。滚动容器(如
JViewport
)将在每次验证时使用此方法。- Specified by:
-
getScrollableTracksViewportHeight
接口Scrollable
- 结果
- 如果视口应强制Scrollables高度与其自身匹配,则为true
-
print
public boolean print() throws PrinterException
一种便捷的打印方法,显示打印对话框,然后以交互模式打印此JTextComponent
,没有页眉或页脚文本。 注意:此方法将阻止,直到打印完成。注意:在无头模式下,不会显示任何对话框。
此方法调用全功能
print
方法来执行打印。- 结果
-
true
,除非用户取消打印 - 异常
-
PrinterException
- 如果打印系统中的错误导致作业中止 -
SecurityException
- 如果不允许此线程启动打印作业请求 - 从以下版本开始:
- 1.6
- 另请参见:
-
print(MessageFormat, MessageFormat, boolean, PrintService, PrintRequestAttributeSet, boolean)
-
print
public boolean print(MessageFormat headerFormat, MessageFormat footerFormat) throws PrinterException
一种便捷的打印方法,用于显示打印对话框,然后以指定的页眉和页脚文本以交互模式打印此JTextComponent
。 注意:此方法将阻止,直到打印完成。注意:在无头模式下,不会显示任何对话框。
此方法调用全功能
print
方法来执行打印。- 参数
-
headerFormat
- 用作标题的文本(MessageFormat
或无标题的null
-
footerFormat
- 文本,在MessageFormat
,用作页脚,或null
,无页脚 - 结果
-
true
,除非用户取消打印 - 异常
-
PrinterException
- 如果打印系统中的错误导致作业中止 -
SecurityException
- 如果不允许此线程启动打印作业请求 - 从以下版本开始:
- 1.6
- 另请参见:
-
print(MessageFormat, MessageFormat, boolean, PrintService, PrintRequestAttributeSet, boolean)
,MessageFormat
-
print
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
,则会在打印期间显示带有中止选项的进度对话框。 当在事件调度线程上调用print
时,此对话框是模 态的,否则是非模态调用。 警告 :使用interactive false
在事件调度线程上调用此方法interactive false
阻止处理所有事件(包括重绘),直到打印完成。 仅在从没有可见GUI的应用程序打印时才建议使用它。注意:在无头模式下,将忽略
showPrintDialog
和interactive
参数,并且不显示任何对话框。此方法可确保
document
在打印期间不会发生变异。 要在视觉上指示,setEnabled(false)
在打印期间设置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);
从Event Dispatch Thread执行此代码可在后台执行打印。 以下模式可用于后台打印:
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
-
service
- 默认PrintService
或null
-
attributes
- 要应用于打印作业的作业属性,或null
(无) -
interactive
- 是否以交互模式打印 - 结果
-
true
,除非用户取消打印 - 异常
-
PrinterException
- 如果打印系统中的错误导致作业中止 -
SecurityException
- 如果不允许此线程启动打印作业请求 - 从以下版本开始:
- 1.6
- 另请参见:
-
getPrintable(java.text.MessageFormat, java.text.MessageFormat)
,MessageFormat
,GraphicsEnvironment.isHeadless()
,FutureTask
-
getPrintable
public Printable getPrintable(MessageFormat headerFormat, MessageFormat footerFormat)
返回Printable
以用于打印此JTextComponent
的内容。 返回的Printable
会在屏幕上显示文档,除非重新格式化以适合纸张。 返回的Printable
可以包装在另一个Printable
中,以便创建复杂的报告和文档。返回
Printable
股document
这个JTextComponent
。 这是开发商的责任,以确保document
虽然这不是突变Printable
使用。 在打印期间突变document
时,打印行为未定义。通过提供
MessageFormat
参数,可以将页眉和页脚文本添加到输出中。 打印代码从格式请求Strings
,提供可以包括在格式化字符串中的单个项目:表示当前页面编号的Integer
。打印时返回的
Printable
格式化文档内容以适合页面大小。 要正确换imageable width
,所有页面的imageable width
必须相同。 见PageFormat.getImageableWidth()
。虽然大多数Swing方法都不是,但这种方法是线程安全的。 有关更多信息,请参阅Concurrency in Swing 。
返回的
Printable
可以在任何线程上打印。这个实现返回
Printable
在Event Dispatch Thread上执行所有绘制,无论它在什么线程上使用。- 参数
-
headerFormat
- 文本,在MessageFormat
,用作标题,或null
用于无标题 -
footerFormat
-文本,在MessageFormat
,用作页脚,或null
因为没有页脚 - 结果
-
a
Printable
用于打印此JTextComponent
内容 - 从以下版本开始:
- 1.6
- 另请参见:
-
Printable
,PageFormat
,Document.render(java.lang.Runnable)
-
getAccessibleContext
@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
获取AccessibleContext
与此相关JTextComponent
。 对于文本组件,该AccessibleContext
需要一个形式AccessibleJTextComponent
。 如有必要,将创建一个新的AccessibleJTextComponent
实例。- Specified by:
-
getAccessibleContext
接口Accessible
- 重写:
-
getAccessibleContext
在类Component
- 结果
-
AccessibleJTextComponent
,作为AccessibleContext
的JTextComponent
-
paramString
protected String paramString()
返回此JTextComponent
的字符串表示JTextComponent
。 此方法仅用于调试目的,返回字符串的内容和格式可能因实现而异。 返回的字符串可能为空,但可能不是null
。重写
paramString
以提供有关JFC组件的特定新方面的信息。- 重写:
-
paramString
在类JComponent
- 结果
-
此
JTextComponent
的字符串表示JTextComponent
-
saveComposedText
protected boolean saveComposedText(int pos)
将撰写的文本保存在指定位置周围。 指定位置周围的组合文本(如果有)将保存在后备存储中并从文档中删除。- 参数
-
pos
- 用于标识组合文本位置的文档位置 - 结果
-
true
如果撰写文本存在并保存,false
否则 - 从以下版本开始:
- 1.7
- 另请参见:
-
restoreComposedText()
-
restoreComposedText
protected void restoreComposedText()
恢复之前由saveComposedText
保存的组合文本。 保存的组合文本将插回到文档中。 仅当saveComposedText
返回true
才应调用此方法。- 从以下版本开始:
- 1.7
- 另请参见:
-
saveComposedText(int)
-
-