JTextArea
是一個顯示純文本的多行區域。它作為一個輕量級元件,提供與
java.awt.TextArea
類別的源相容性,理應如此。有關使用所有文本元件的資訊和範例,請參閱
The Java Tutorial
中
Using Text Components
一節。
此元件具有
java.awt.TextArea
類別中沒有的功能。有關其他功能,請參考父級類別。還有
JTextPane
和
JEditorPane
也是具有更多功能的多行文本類別。
java.awt.TextArea
在內部處理滾動。
JTextArea
的不同之處在於,它不管理滾動,但實作了 swing
Scrollable
介面。這允許把它放置在
JScrollPane
的內部(如果需要滾動行為),或者直接使用(如果不需要滾動)。
java.awt.TextArea
具有換行能力。這由水平滾動策略來控制。由於滾動不是由
JTextArea
直接完成的,因此必須通過另一種方式來提供向後相容性。
JTextArea
具有用於換行的綁定 (bound) 屬性,該屬性控制其是否換行。在預設情況下,換行屬性設置為 false(不換行)。
java.awt.TextArea
具有兩個屬性
rows
和
columns
,這兩個屬性用來確定首選大小。
JTextArea
用這些屬性來指示 viewport 的首選大小,此 viewport 被放置到
JScrollPane
中以比對由
java.awt.TextArea
提供的功能。
JTextArea
具有顯示所有文本所需的首選大小,以便在
JScrollPane
內部正常工作。如果
rows
或
columns
的值等於 0,則沿該軸的首選大小將用於沿相同軸上 viewport 的首選大小。
可以通過添加一個
TextEvent
的
TextListener
來對
java.awt.TextArea
的更改進行監視。在基於
JTextComponent
的元件中,更改通過
DocumentEvent
從模型傳播到
DocumentListeners
。
DocumentEvent
給出了更改的位置和更改種類別(如果需要)。程式碼片段如下所示:
DocumentListener myListener = ??;
JTextArea myArea = ??;
myArea.getDocument().addDocumentListener(myListener);
有關如何處理換行的討論,請參閱
DefaultEditorKit
。
警告:
Swing 不是執行緒安全的。有關更多資訊,請參閱
Swing's Threading Policy
。
警告:
此類別的已序列化物件與以後的 Swing 版本不相容。當前序列化支持適用於短期存儲,或適用於在運行相同 Swing 版本的應用程序之間進行 RMI(Remote Method Invocation,遠端方法調用)。從 1.4 版本開始,已在
java.beans
套件中添加了支持所有 JavaBeans
TM
長期存儲的功能。請參見
XMLEncoder
。
addCaretListener
,
addInputMethodListener
,
addKeymap
,
copy
,
cut
,
fireCaretUpdate
,
getActions
,
getCaret
,
getCaretColor
,
getCaretListeners
,
getCaretPosition
,
getDisabledTextColor
,
getDocument
,
getDragEnabled
,
getDropLocation
,
getDropMode
,
getFocusAccelerator
,
getHighlighter
,
getInputMethodRequests
,
getKeymap
,
getKeymap
,
getMargin
,
getNavigationFilter
,
getPrintable
,
getScrollableBlockIncrement
,
getScrollableTracksViewportHeight
,
getSelectedText
,
getSelectedTextColor
,
getSelectionColor
,
getSelectionEnd
,
getSelectionStart
,
getText
,
getText
,
getToolTipText
,
getUI
,
isEditable
,
loadKeymap
,
modelToView
,
moveCaretPosition
,
paste
,
print
,
print
,
print
,
processInputMethodEvent
,
read
,
removeCaretListener
,
removeKeymap
,
removeNotify
,
replaceSelection
,
select
,
selectAll
,
setCaret
,
setCaretColor
,
setCaretPosition
,
setComponentOrientation
,
setDisabledTextColor
,
setDocument
,
setDragEnabled
,
setDropMode
,
setEditable
,
setFocusAccelerator
,
setHighlighter
,
setKeymap
,
setMargin
,
setNavigationFilter
,
setSelectedTextColor
,
setSelectionColor
,
setSelectionEnd
,
setSelectionStart
,
setText
,
setUI
,
updateUI
,
viewToModel
,
write
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
,
getRegisteredKeyStrokes
,
getRootPane
,
getSize
,
getToolTipLocation
,
getToolTipText
,
getTopLevelAncestor
,
getTransferHandler
,
getVerifyInputWhenFocusTarget
,
getVetoableChangeListeners
,
getVisibleRect
,
getWidth
,
getX
,
getY
,
grabFocus
,
isDoubleBuffered
,
isLightweightComponent
,
isManagingFocus
,
isOpaque
,
isOptimizedDrawingEnabled
,
isPaintingForPrint
,
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
,
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
,
transferFocusBackward
,
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
,
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
,
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
,
transferFocusUpCycle
參數:
doc
- 要使用的模型,如果為 null,則創建一個預設的模型
text
- 要顯示的文本,如果沒有文本,則為 null
rows
- 行數 >= 0
columns
- 列數 >= 0
IllegalArgumentException
- 如果行或列參數為負數。
public void
setTabSize
(int size)
設置選項卡要擴大到的字元數。此數將與可變寬度字體的最大 advance 相乘。當選項卡大小變化時將觸發 PropertyChange 事件("tabSize")。
參數:
size
- 要擴大到的字元數
另請參見:
getTabSize()
public void
setLineWrap
(boolean wrap)
設置文本區的換行策略。如果設置為 true,則當行的長度大於所分派的寬度時,將換行。如果設置為 false,則始終不換行。當策略更改時,將觸發
PropertyChange
事件("lineWrap")。此屬性預設為 false。
參數:
wrap
- 指示是否應該換行
另請參見:
getLineWrap()
public void
setWrapStyleWord
(boolean word)
設置換行方式(如果文本區要換行)。如果設置為 true,則當行的長度大於所分派的寬度時,將在單詞邊界(空白)處換行。如果設置為 false,則將在字元邊界處換行。此屬性預設為 false。
參數:
word
- 指示是否應該使用單詞邊界來換行
另請參見:
getWrapStyleWord()
將指定文本插入指定位置。如果模型為 null 或者文本為 null 或空,則不執行任何操作。
雖然大多數 Swing 方法不是執行緒安全的,但此方法是執行緒安全的。有關更多資訊,請參閱
How
to Use Threads
。
參數:
str
- 要插入的文本
pos
- 插入的位置 >= 0
IllegalArgumentException
- 如果 pos 在模型中是一個無效的位置
另請參見:
replaceRange(java.lang.String, int, int)
將給定文本追加到文檔結尾。如果模型為 null 或者字元串為 null 或空,則不執行任何操作。
雖然大多數 Swing 方法不是執行緒安全的,但此方法是執行緒安全的。有關更多資訊,請參閱
How
to Use Threads
。
參數:
str
- 要插入的文本
另請參見:
insert(java.lang.String, int)
用給定的新文本替換從指示的起始位置到結尾位置的文本。如果模型為 null,則不執行任何操作。如果新字元串為 null 或為空,則只執行簡單的刪除操作。
雖然大多數 Swing 方法不是執行緒安全的,但此方法是執行緒安全的。有關更多資訊,請參閱
How
to Use Threads
。
參數:
str
- 要用來替換的文本
start
- 起始位置 >= 0
end
- 結尾位置 >= start
IllegalArgumentException
- 如果模型中的部分範圍是無效的位置
另請參見:
insert(java.lang.String, int)
,
replaceRange(java.lang.String, int, int)
protected
String
paramString
()
返回此 JTextArea 的字元串表示形式。此方法僅在進行除錯的時候使用,對於各個實作,所返回字元串的內容和格式可能有所不同。返回的字元串可能為空,但不可能為
null
。
覆寫:
類別
JTextComponent
中的
paramString
返回:
此 JTextArea 的字元串表示形式。
public boolean
getScrollableTracksViewportWidth
()
如果 viewport 總是強制要求此 Scrollable 的寬度與 viewport 的寬度相比對,則返回 true。如果換行策略為 true,則此實作返回 true,如果不換行,則返回 false。
指定者:
介面
Scrollable
中的
getScrollableTracksViewportWidth
覆寫:
類別
JTextComponent
中的
getScrollableTracksViewportWidth
返回:
如果 viewport 應強制要求 Scrollables 寬度與其自己的寬度相比對,則返回 true。
getPreferredScrollableViewportSize
public
Dimension
getPreferredScrollableViewportSize
()
如果此元件被嵌入 JScrollPane 中,則返回 viewport 的首選大小。這將使用預期的列和行設置(如果已經設置),否則使用父級類別行為。
指定者:
介面
Scrollable
中的
getPreferredScrollableViewportSize
覆寫:
類別
JTextComponent
中的
getPreferredScrollableViewportSize
返回:
JViewport 的 preferredSize,其中 JViewport 的視圖為此 Scrollable。
另請參見:
JComponent.getPreferredSize()
getScrollableUnitIncrement
public int
getScrollableUnitIncrement
(
Rectangle
visibleRect,
int orientation,
int direction)
顯示邏輯行或列的元件應根據方向的值計算滾動增量,此滾動增量將完全顯示一個新行或新列。此實作使用
getRowHeight
和
getColumnWidth
方法返回的值。
使用者每次請求一個單元滾動時,滾動容器(例如 JScrollPane)都將使用此方法。
指定者:
介面
Scrollable
中的
getScrollableUnitIncrement
覆寫:
類別
JTextComponent
中的
getScrollableUnitIncrement
參數:
visibleRect
- viewport 中可見的視圖區域
orientation
- 或者是 SwingConstants.VERTICAL 或者是 SwingConstants.HORIZONTAL.
direction
- 小於 0 時為向左/上滾動,大於 0 時為向右/下滾動。
返回:
在指定方向滾動的 "單位" 增量
IllegalArgumentException
- 如果方向無效
另請參見:
JScrollBar.setUnitIncrement(int)
,
getRowHeight()
,
getColumnWidth()
public
AccessibleContext
getAccessibleContext
()
獲取與此 JTextArea 關聯的 AccessibleContext。對於 JTextAreas,AccessibleContext 採取 AccessibleJTextArea 的形式。必要時創建新的 AccessibleJTextArea 實例。
指定者:
介面
Accessible
中的
getAccessibleContext
覆寫:
類別
JTextComponent
中的
getAccessibleContext
返回:
一個 AccessibleJTextArea,它充當此 JTextArea 的 AccessibleContext