|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponent javax.swing.JTree
public class JTree
將分層資料集顯示為輪廓的控制元件。有關導向任務的文檔和使用階層樹的範例,請參閱 The Java Tutorial 中的 How to Use Trees 一節。
階層樹中特定的節點可以由 TreePath
(封裝節點及其所有祖先的物件)標識,或由其顯示行(其中顯示區域中的每一行都顯示一個節點)標識。展開 節點是一個非葉節點(由返回 false 的 TreeModel.isLeaf(node)
標識),當展開 其所有祖先時,該節點將顯示其子節點。折疊 節點是隱藏它們的節點。隱藏 節點是位於折疊祖先下面的節點。所有可查看 節點的父節點都是可以展開的,但是可以顯示它們,也可以不顯示它們。顯示 節點是可查看的並且位於可以看到它的顯示區域。
以下 JTree
方法使用 "visible" 來表示 "displayed":
isRootVisible()
setRootVisible()
scrollPathToVisible()
scrollRowToVisible()
getVisibleRowCount()
setVisibleRowCount()
下一組 JTree
方法使用 "visible" 表示 "viewable"(在展開的父節點下面):
isVisible()
makeVisible()
如果您有興趣瞭解選擇何時更改,請實作 TreeSelectionListener
介面,並使用方法 addTreeSelectionListener
添加實例。當選擇更改時,將調用 valueChanged
,即如果使用者在同一節點上單擊兩次,則僅調用 valueChanged
一次。
如果有興趣檢測雙擊事件或使用者何時單擊節點(不管是否選中它),建議您執行以下操作:
final JTree tree = ...; MouseListener ml = new MouseAdapter() { public void mousePressed(MouseEvent e) { int selRow = tree.getRowForLocation(e.getX(), e.getY()); TreePath selPath = tree.getPathForLocation(e.getX(), e.getY()); if(selRow != -1) { if(e.getClickCount() == 1) { mySingleClick(selRow, selPath); } else if(e.getClickCount() == 2) { myDoubleClick(selRow, selPath); } } } }; tree.addMouseListener(ml);註:上述範例同時獲取路徑和行,但是您只需要獲取感興趣的內容。
要使用 JTree
顯示復合節點(例如,同時包含圖形圖標和文本的節點),請為 TreeCellRenderer
創建子類別,並使用 setCellRenderer(javax.swing.tree.TreeCellRenderer)
通知階層樹使用它。要編輯此類別節點,請為 TreeCellEditor
創建子類別,並使用 setCellEditor(javax.swing.tree.TreeCellEditor)
。
與所有 JComponent
類別一樣,可以使用 InputMap
和 ActionMap
將 Action
物件與 KeyStroke
關聯,並在指定條件下執行操作。
警告:Swing 不是執行緒安全的。有關更多資訊,請參閱 Swing's Threading Policy。
警告:此類別的序列化物件與以後的 Swing 版本不相容。當前序列化支持適用於短期存儲,或適用於在運行相同 Swing 版本的應用程序之間進行 RMI(Remote Method Invocation,遠端方法調用)。從 1.4 版本開始,已在 java.beans
套件中添加了支持所有 JavaBeansTM 長期存儲的功能。請參見 XMLEncoder
。
巢狀類別摘要 | |
---|---|
protected class |
JTree.AccessibleJTree
此類別實作 JTree 類別的可存取性支持。 |
static class |
JTree.DropLocation
TransferHandler.DropLocation 的一個子類別,表示 JTree 的放置位置 (drop location)。 |
static class |
JTree.DynamicUtilTreeNode
DynamicUtilTreeNode 可以包裹 vectors/hashtables/arrays/strings 並根據需要創建適當的子階層樹節點。 |
protected static class |
JTree.EmptySelectionModel
EmptySelectionModel 是一個不允許選擇任何內容的 TreeSelectionModel 。 |
protected class |
JTree.TreeModelHandler
在移除或更改節點時,監聽模型並相應地更新 expandedState 。 |
protected class |
JTree.TreeSelectionRedirector
使用 JTree 創建一個作為源的新 TreeSelectionEvent 並將其傳遞到所有偵聽器的句柄。 |
從類別 javax.swing.JComponent 繼承的巢狀類別/介面 |
---|
JComponent.AccessibleJComponent |
從類別 java.awt.Container 繼承的巢狀類別/介面 |
---|
Container.AccessibleAWTContainer |
從類別 java.awt.Component 繼承的巢狀類別/介面 |
---|
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy |
欄位摘要 | |
---|---|
static String |
ANCHOR_SELECTION_PATH_PROPERTY
定位選擇路徑的綁定屬性名稱。 |
static String |
CELL_EDITOR_PROPERTY
cellEditor 的綁定屬性名稱。 |
static String |
CELL_RENDERER_PROPERTY
cellRenderer 的綁定屬性名稱。 |
protected TreeCellEditor |
cellEditor
條目編輯器。 |
protected TreeCellRenderer |
cellRenderer
用於繪製節點的單元格。 |
protected boolean |
editable
階層樹是否可以編輯?預設值為 false。 |
static String |
EDITABLE_PROPERTY
editable 的綁定屬性名稱。 |
static String |
EXPANDS_SELECTED_PATHS_PROPERTY
展開選擇路徑屬性的綁定屬性名稱 |
static String |
INVOKES_STOP_CELL_EDITING_PROPERTY
messagesStopCellEditing 的綁定屬性名稱。 |
protected boolean |
invokesStopCellEditing
如果為 true,則在通過更改選擇、更改階層樹中的資料或通過其他方法停止編輯時,會調用 stopCellEditing ,並保存更改。 |
static String |
LARGE_MODEL_PROPERTY
largeModel 的綁定屬性名稱。 |
protected boolean |
largeModel
此階層樹是否為大模型?這是一種程式碼優化設置。 |
static String |
LEAD_SELECTION_PATH_PROPERTY
leadSelectionPath 的綁定屬性名稱。 |
static String |
ROOT_VISIBLE_PROPERTY
rootVisible 的綁定屬性名稱。 |
protected boolean |
rootVisible
如果顯示根節點,則為 true;如果其子節點為最高可見節點,則為 false。 |
static String |
ROW_HEIGHT_PROPERTY
rowHeight 的綁定屬性名稱。 |
protected int |
rowHeight
用於每個顯示行的高度。 |
static String |
SCROLLS_ON_EXPAND_PROPERTY
scrollsOnExpand 的綁定屬性名稱。 |
protected boolean |
scrollsOnExpand
如果為 true,則當展開節點時,將滾動盡可能多的子節點,以便看到它們。 |
static String |
SELECTION_MODEL_PROPERTY
selectionModel 的綁定屬性名稱。 |
protected TreeSelectionModel |
selectionModel
對此階層樹中選擇的節點集建模。 |
protected JTree.TreeSelectionRedirector |
selectionRedirector
創建一個新事件,並將它傳遞給 selectionListeners 。 |
static String |
SHOWS_ROOT_HANDLES_PROPERTY
showsRootHandles 的綁定屬性名稱。 |
protected boolean |
showsRootHandles
如果在階層樹的最高層顯示句柄,則為 True。 |
static String |
TOGGLE_CLICK_COUNT_PROPERTY
toggleClickCount 的綁定屬性名稱。 |
protected int |
toggleClickCount
展開節點之前的鼠標單擊數。 |
static String |
TREE_MODEL_PROPERTY
treeModel 的綁定屬性名稱。 |
protected TreeModel |
treeModel
定義此物件顯示的階層樹的模型。 |
protected TreeModelListener |
treeModelListener
更新 expandedState 。 |
static String |
VISIBLE_ROW_COUNT_PROPERTY
visibleRowCount 的綁定屬性名稱。 |
protected int |
visibleRowCount
一次可見的行數。 |
從類別 javax.swing.JComponent 繼承的欄位 |
---|
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
從類別 java.awt.Component 繼承的欄位 |
---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
從介面 java.awt.image.ImageObserver 繼承的欄位 |
---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
建構子摘要 | |
---|---|
JTree()
返回帶有範例模型的 JTree 。 |
|
JTree(Hashtable<?,?> value)
返回從 Hashtable 創建的 JTree ,它不顯示根。 |
|
JTree(Object[] value)
返回 JTree ,指定陣列的每個元素作為不被顯示的新根節點的子節點。 |
|
JTree(TreeModel newModel)
返回 JTree 的一個實例,它顯示根節點 - 使用指定的資料模型創建階層樹。 |
|
JTree(TreeNode root)
返回 JTree ,指定的 TreeNode 作為其根,它顯示根節點。 |
|
JTree(TreeNode root,
boolean asksAllowsChildren)
返回 JTree ,指定的 TreeNode 作為其根,它用指定的方式顯示根節點,並確定節點是否為葉節點。 |
|
JTree(Vector<?> value)
返回 JTree ,指定 Vector 的每個元素作為不被顯示的新根節點的子節點。 |
方法摘要 | |
---|---|
void |
addSelectionInterval(int index0,
int index1)
將 index0 和 index1(包含)之間的路徑添加到該選擇。 |
void |
addSelectionPath(TreePath path)
將由指定的 TreePath 標識的節點添加到當前選擇。 |
void |
addSelectionPaths(TreePath[] paths)
將路徑陣列中的每個路徑添加到當前選擇。 |
void |
addSelectionRow(int row)
將指定行處的路徑添加到當前選擇。 |
void |
addSelectionRows(int[] rows)
將每個指定行處的路徑添加到當前選擇。 |
void |
addTreeExpansionListener(TreeExpansionListener tel)
為 TreeExpansion 事件添加偵聽器。 |
void |
addTreeSelectionListener(TreeSelectionListener tsl)
為 TreeSelection 事件添加偵聽器。 |
void |
addTreeWillExpandListener(TreeWillExpandListener tel)
為 TreeWillExpand 事件添加偵聽器。 |
void |
cancelEditing()
取消當前編輯Session。 |
void |
clearSelection()
清除該選擇。 |
protected void |
clearToggledPaths()
清除切換的階層樹路徑的快取記憶體。 |
void |
collapsePath(TreePath path)
確保指定路徑標識的節點是折疊的,並且可查看。 |
void |
collapseRow(int row)
確保指定行中的節點是折疊的。 |
String |
convertValueToText(Object value,
boolean selected,
boolean expanded,
boolean leaf,
int row,
boolean hasFocus)
通過渲染器調用以將指定值轉換為文本。 |
protected static TreeModel |
createTreeModel(Object value)
返回一個 TreeModel ,它包裹指定的物件。 |
protected TreeModelListener |
createTreeModelListener()
創建並返回 TreeModelHandler 的一個實例。 |
void |
expandPath(TreePath path)
確保指定路徑標識的節點展開,並且可查看。 |
void |
expandRow(int row)
確保指定行中的節點展開,並且可查看。 |
void |
fireTreeCollapsed(TreePath path)
通知已註冊對獲得此事件型別通知感興趣的所有偵聽器。 |
void |
fireTreeExpanded(TreePath path)
通知已註冊對獲得此事件型別通知感興趣的所有偵聽器。 |
void |
fireTreeWillCollapse(TreePath path)
通知已註冊對獲得此事件型別通知感興趣的所有偵聽器。 |
void |
fireTreeWillExpand(TreePath path)
通知已註冊對獲得此事件型別通知感興趣的所有偵聽器。 |
protected void |
fireValueChanged(TreeSelectionEvent e)
通知已註冊對獲得此事件型別通知感興趣的所有偵聽器。 |
AccessibleContext |
getAccessibleContext()
獲取與此 JTree 關聯的 AccessibleContext。 |
TreePath |
getAnchorSelectionPath()
返回標識為定位的路徑。 |
TreeCellEditor |
getCellEditor()
返回用於編輯階層樹中條目的編輯器。 |
TreeCellRenderer |
getCellRenderer()
返回正在呈現每個單元格的當前 TreeCellRenderer 。 |
TreePath |
getClosestPathForLocation(int x,
int y)
返回離 x,y 最近的節點的路徑。 |
int |
getClosestRowForLocation(int x,
int y)
返回離 x,y 最近的節點的行。 |
protected static TreeModel |
getDefaultTreeModel()
創建並返回一個範例 TreeModel 。 |
protected Enumeration<TreePath> |
getDescendantToggledPaths(TreePath parent)
返回已展開且為 parent 的子路徑的 TreePath 的 Enumeration 。 |
boolean |
getDragEnabled()
返回是否啟用自動拖動處理。 |
JTree.DropLocation |
getDropLocation()
返回該元件上 DnD 操作期間此元件應該視覺上指示為放置操作的位置;如果當前未顯示任何位置,則返回 null 。 |
DropMode |
getDropMode()
返回此元件的放置網要。 |
TreePath |
getEditingPath()
返回當前正在編輯的元素的路徑。 |
Enumeration<TreePath> |
getExpandedDescendants(TreePath parent)
返回當前展開的 parent 路徑的子路徑的 Enumeration 。 |
boolean |
getExpandsSelectedPaths()
返回 expandsSelectedPaths 屬性。 |
boolean |
getInvokesStopCellEditing()
返回告知編輯中斷時發生了什麼情況的指示符。 |
Object |
getLastSelectedPathComponent()
返回當前選擇的第一個節點中的最後一個路徑元件。 |
TreePath |
getLeadSelectionPath()
返回標識為前導的路徑。 |
int |
getLeadSelectionRow()
返回與前導路徑對應的行索引。 |
int |
getMaxSelectionRow()
返回選擇的最後一行。 |
int |
getMinSelectionRow()
獲取選擇的第一行。 |
TreeModel |
getModel()
返回正在提供資料的 TreeModel 。 |
TreePath |
getNextMatch(String prefix,
int startingRow,
Position.Bias bias)
將 TreePath 返回到以一個前綴開頭的下一個階層樹元素。 |
protected TreePath[] |
getPathBetweenRows(int index0,
int index1)
返回 JTreePath 實例,它表示 index0 和 index1(包括 index1)之間的路徑。 |
Rectangle |
getPathBounds(TreePath path)
返回將指定節點繪入的 Rectangle 。 |
TreePath |
getPathForLocation(int x,
int y)
返回指定位置處的節點路徑。 |
TreePath |
getPathForRow(int row)
返回指定行的路徑。 |
Dimension |
getPreferredScrollableViewportSize()
返回 JTree 的首選顯示大小。 |
Rectangle |
getRowBounds(int row)
返回將指定行處的節點繪入的 Rectangle 。 |
int |
getRowCount()
返回當前正在顯示的行數。 |
int |
getRowForLocation(int x,
int y)
返回指定位置的行。 |
int |
getRowForPath(TreePath path)
返回顯示由指定路徑標識的節點的行。 |
int |
getRowHeight()
返回每個行的高度。 |
int |
getScrollableBlockIncrement(Rectangle visibleRect,
int orientation,
int direction)
返回塊增量的數量,它是基於 orientation 的 visibleRect 高度或寬度。 |
boolean |
getScrollableTracksViewportHeight()
返回 false 指示視口的高度不能確定表的高度,除非階層樹的首選高度小於視口高度。 |
boolean |
getScrollableTracksViewportWidth()
返回 false 指示視口的寬度不能確定表的寬度,除非階層樹的首選寬度小於視口寬度。 |
int |
getScrollableUnitIncrement(Rectangle visibleRect,
int orientation,
int direction)
返回滾動時增加的數量。 |
boolean |
getScrollsOnExpand()
返回 scrollsOnExpand 屬性的值。 |
int |
getSelectionCount()
返回選擇的節點數。 |
TreeSelectionModel |
getSelectionModel()
返回選擇的模型。 |
TreePath |
getSelectionPath()
返回首選節點的路徑。 |
TreePath[] |
getSelectionPaths()
返回所有選擇值的路徑。 |
int[] |
getSelectionRows()
返回所有當前選擇的行。 |
boolean |
getShowsRootHandles()
返回 showsRootHandles 屬性的值。 |
int |
getToggleClickCount()
返回展開或關閉節點所需的鼠標單擊數。 |
String |
getToolTipText(MouseEvent event)
覆寫 JComponent 的 getToolTipText 方法,以允許使用渲染器的提示(如果渲染器設置了文本)。 |
TreeExpansionListener[] |
getTreeExpansionListeners()
返回使用 addTreeExpansionListener() 添加到此 JTree 的所有 TreeExpansionListener 的陣列。 |
TreeSelectionListener[] |
getTreeSelectionListeners()
返回使用 addTreeSelectionListener() 添加到此 JTree 的所有 TreeSelectionListener 的陣列。 |
TreeWillExpandListener[] |
getTreeWillExpandListeners()
返回使用 addTreeWillExpandListener() 添加到此 JTree 的所有 TreeWillExpandListener 的陣列。 |
TreeUI |
getUI()
返回呈現此元件的 L&F 物件。 |
String |
getUIClassID()
返回呈現此元件的 L&F 類別的名稱。 |
int |
getVisibleRowCount()
返回顯示區域中顯示的行數。 |
boolean |
hasBeenExpanded(TreePath path)
如果已經展開路徑標識的節點,則返回 true。 |
boolean |
isCollapsed(int row)
如果折疊了指定顯示行處的節點,則返回 true。 |
boolean |
isCollapsed(TreePath path)
如果當前折疊了路徑標識的值,則返回 true,如果當前未顯示路徑中的任何值,則返回 false。 |
boolean |
isEditable()
如果階層樹可編輯,則返回 true。 |
boolean |
isEditing()
如果正在編輯階層樹,則返回 true。 |
boolean |
isExpanded(int row)
如果當前展開了指定顯示行處的節點,則返回 true。 |
boolean |
isExpanded(TreePath path)
如果當前展開了路徑標識的節點,則返回 true。 |
boolean |
isFixedRowHeight()
如果每個顯示行的高度為固定大小,則返回 true。 |
boolean |
isLargeModel()
如果將階層樹配置為大模型,則返回 true。 |
boolean |
isPathEditable(TreePath path)
返回 isEditable 。 |
boolean |
isPathSelected(TreePath path)
如果當前選擇了路徑標識的條目,則返回 true。 |
boolean |
isRootVisible()
如果顯示階層樹的根節點,則返回 true。 |
boolean |
isRowSelected(int row)
如果選擇了行標識的節點,則返回 true。 |
boolean |
isSelectionEmpty()
如果該選擇當前為空,則返回 true。 |
boolean |
isVisible(TreePath path)
如果當前可查看路徑標識的值,則返回 true,這意味著該路徑或者是根路徑,或者它的所有父路徑均被展開。 |
void |
makeVisible(TreePath path)
確保路徑標識的節點當前可查看。 |
protected String |
paramString()
返回此 JTree 的字元串表示形式。 |
protected boolean |
removeDescendantSelectedPaths(TreePath path,
boolean includePath)
移除選擇中的任何路徑( path 的子路徑)。 |
protected void |
removeDescendantToggledPaths(Enumeration<TreePath> toRemove)
移除已展開的 toRemove 中 TreePath 的所有子路徑。 |
void |
removeSelectionInterval(int index0,
int index1)
從該選擇中移除 index0 和 index1(包含)之間的節點。 |
void |
removeSelectionPath(TreePath path)
從當前選擇中移除指定路徑標識的節點。 |
void |
removeSelectionPaths(TreePath[] paths)
從當前選擇移除指定路徑標識的節點。 |
void |
removeSelectionRow(int row)
從當前選擇移除索引 row 處的行。 |
void |
removeSelectionRows(int[] rows)
移除在每個指定行處選擇的行。 |
void |
removeTreeExpansionListener(TreeExpansionListener tel)
移除 TreeExpansion 事件的偵聽器。 |
void |
removeTreeSelectionListener(TreeSelectionListener tsl)
移除 TreeSelection 偵聽器。 |
void |
removeTreeWillExpandListener(TreeWillExpandListener tel)
移除 TreeWillExpand 事件的偵聽器。 |
void |
scrollPathToVisible(TreePath path)
確保路徑中所有的路徑元件均展開(最後一個路徑元件除外)並滾動,以便顯示該路徑標識的節點。 |
void |
scrollRowToVisible(int row)
滾動行標識的條目,直到顯示出來。 |
void |
setAnchorSelectionPath(TreePath newPath)
將標識的路徑設置為定位路徑。 |
void |
setCellEditor(TreeCellEditor cellEditor)
設置單元格編輯器。 |
void |
setCellRenderer(TreeCellRenderer x)
設置將用於繪製每個單元格的 TreeCellRenderer 。 |
void |
setDragEnabled(boolean b)
打開或關閉自動拖動處理。 |
void |
setDropMode(DropMode dropMode)
設置此元件的放置網要。 |
void |
setEditable(boolean flag)
確定階層樹是否可編輯。 |
protected void |
setExpandedState(TreePath path,
boolean state)
設置此 JTree 的展開狀態。 |
void |
setExpandsSelectedPaths(boolean newValue)
配置 expandsSelectedPaths 屬性。 |
void |
setInvokesStopCellEditing(boolean newValue)
通過選擇階層樹中的另一個節點、階層樹的資料中的更改或通過其他方法來確定編輯被中斷時發生了什麼情況。 |
void |
setLargeModel(boolean newValue)
指定 UI 是否使用大模型。 |
void |
setLeadSelectionPath(TreePath newPath)
將標識的路徑設置為前導路徑。 |
void |
setModel(TreeModel newModel)
設置將提供資料的 TreeModel 。 |
void |
setRootVisible(boolean rootVisible)
確定 TreeModel 的根節點是否可見。 |
void |
setRowHeight(int rowHeight)
設置每個單元格的高度(以像素為單位)。 |
void |
setScrollsOnExpand(boolean newValue)
設置 scrollsOnExpand 屬性,它確定階層樹是否可以滾動顯示以前隱藏的子節點。 |
void |
setSelectionInterval(int index0,
int index1)
選擇 index0 和 index1(包含)之間的節點。 |
void |
setSelectionModel(TreeSelectionModel selectionModel)
設置階層樹的選擇模型。 |
void |
setSelectionPath(TreePath path)
選擇指定路徑標識的節點。 |
void |
setSelectionPaths(TreePath[] paths)
選擇由指定的路徑陣列標識的節點。 |
void |
setSelectionRow(int row)
選擇顯示的指定行的節點。 |
void |
setSelectionRows(int[] rows)
選擇與顯示的每個指定行對應的節點。 |
void |
setShowsRootHandles(boolean newValue)
設置 showsRootHandles 屬性的值,它指定是否應顯示節點句柄。 |
void |
setToggleClickCount(int clickCount)
設置節點展開或關閉之前鼠標的單擊數。 |
void |
setUI(TreeUI ui)
設置呈現此元件的 L&F 物件。 |
void |
setVisibleRowCount(int newCount)
設置要顯示的行數。 |
void |
startEditingAtPath(TreePath path)
選擇指定路徑標識的節點,並開始編輯。 |
boolean |
stopEditing()
結束當前編輯Session。 |
void |
treeDidChange()
當階層樹被更改得足以需要調整邊界大小,但還不足以需要移除展開的節點集(例如,展開或折疊節點,或者將節點插入到階層樹)時發送。 |
void |
updateUI()
UIManager 發出的關於 L&F 已經更改的通知。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
欄位詳細資訊 |
---|
protected transient TreeModel treeModel
protected transient TreeSelectionModel selectionModel
protected boolean rootVisible
protected transient TreeCellRenderer cellRenderer
null
,則 UI 使用預設 cellRenderer
。
protected int rowHeight
protected boolean showsRootHandles
句柄是一個小圖標,它顯示在節點旁邊,使用者可以單擊一次此圖標來展開或折疊該節點。公共介面為可以展開的節點顯示加號 (+),為可以折疊的節點顯示減號 (-)。節點的句柄始終顯示在最高層下面。
如果 rootVisible
設置指定將顯示根節點,那麼該根節點是位於最高層的惟一節點。如果不顯示根節點,那麼其所有的子節點都位於階層樹的最高層。始終顯示節點的句柄,但最高層節點除外。
如果根節點不可見,那麼通常最好的方法是將此值設為 true。否則,階層樹看起來很像一個列表,使用者可能不知道“列表條目”實際上就是階層樹節點。
rootVisible
protected transient JTree.TreeSelectionRedirector selectionRedirector
selectionListeners
。
protected transient TreeCellEditor cellEditor
null
(階層樹不可編輯)。
protected boolean editable
protected boolean largeModel
此值僅為 UI 的一個建議值。並不是所有的 UI 都將利用它。預設值為 false。
protected int visibleRowCount
Scrollable
介面。它可以確定顯示區域的首選大小。
protected boolean invokesStopCellEditing
stopCellEditing
,並保存更改。如果為 false,則調用 cancelCellEditing
,並丟棄更改。預設值為 false。
protected boolean scrollsOnExpand
protected int toggleClickCount
protected transient TreeModelListener treeModelListener
expandedState
。
public static final String CELL_RENDERER_PROPERTY
cellRenderer
的綁定屬性名稱。
public static final String TREE_MODEL_PROPERTY
treeModel
的綁定屬性名稱。
public static final String ROOT_VISIBLE_PROPERTY
rootVisible
的綁定屬性名稱。
public static final String SHOWS_ROOT_HANDLES_PROPERTY
showsRootHandles
的綁定屬性名稱。
public static final String ROW_HEIGHT_PROPERTY
rowHeight
的綁定屬性名稱。
public static final String CELL_EDITOR_PROPERTY
cellEditor
的綁定屬性名稱。
public static final String EDITABLE_PROPERTY
editable
的綁定屬性名稱。
public static final String LARGE_MODEL_PROPERTY
largeModel
的綁定屬性名稱。
public static final String SELECTION_MODEL_PROPERTY
public static final String VISIBLE_ROW_COUNT_PROPERTY
visibleRowCount
的綁定屬性名稱。
public static final String INVOKES_STOP_CELL_EDITING_PROPERTY
messagesStopCellEditing
的綁定屬性名稱。
public static final String SCROLLS_ON_EXPAND_PROPERTY
scrollsOnExpand
的綁定屬性名稱。
public static final String TOGGLE_CLICK_COUNT_PROPERTY
toggleClickCount
的綁定屬性名稱。
public static final String LEAD_SELECTION_PATH_PROPERTY
leadSelectionPath
的綁定屬性名稱。
public static final String ANCHOR_SELECTION_PATH_PROPERTY
public static final String EXPANDS_SELECTED_PATHS_PROPERTY
建構子詳細資訊 |
---|
public JTree()
JTree
。階層樹使用的預設模型可以將葉節點定義為不帶子節點的任何節點。
DefaultTreeModel.asksAllowsChildren
public JTree(Object[] value)
JTree
,指定陣列的每個元素作為不被顯示的新根節點的子節點。預設情況下,階層樹可以將葉節點定義為不帶子節點的任何節點。
value
- Object
的陣列DefaultTreeModel.asksAllowsChildren
public JTree(Vector<?> value)
JTree
,指定 Vector
的每個元素作為不被顯示的新根節點的子節點。預設情況下,階層樹可以將葉節點定義為不帶子節點的任何節點。
value
- 一個 Vector
DefaultTreeModel.asksAllowsChildren
public JTree(Hashtable<?,?> value)
Hashtable
創建的 JTree
,它不顯示根。HashTable
中每個鍵/值對的半值都成為新根節點的子節點。預設情況下,階層樹可以將葉節點定義為不帶子節點的任何節點。
value
- 一個 Hashtable
DefaultTreeModel.asksAllowsChildren
public JTree(TreeNode root)
JTree
,指定的 TreeNode
作為其根,它顯示根節點。預設情況下,階層樹可以將葉節點定義為不帶子節點的任何節點。
root
- 一個 TreeNode
物件DefaultTreeModel.asksAllowsChildren
public JTree(TreeNode root, boolean asksAllowsChildren)
JTree
,指定的 TreeNode
作為其根,它用指定的方式顯示根節點,並確定節點是否為葉節點。
root
- 一個 TreeNode
物件asksAllowsChildren
- 如果為 false,則不帶子節點的任何節點都是葉節點;如果為 true,則只有不允許帶子節點的節點是葉節點DefaultTreeModel.asksAllowsChildren
public JTree(TreeModel newModel)
JTree
的一個實例,它顯示根節點 - 使用指定的資料模型創建階層樹。
newModel
- 用作資料模型的 TreeModel
方法詳細資訊 |
---|
protected static TreeModel getDefaultTreeModel()
TreeModel
。主要用於 bean 產生器,來顯示一些有趣的東西。
TreeModel
protected static TreeModel createTreeModel(Object value)
TreeModel
,它包裹指定的物件。如果該物件為:Object
陣列
Hashtable
或
Vector
value
- 用作 TreeModel
的基礎的 Object
TreeModel
public TreeUI getUI()
TreeUI
物件public void setUI(TreeUI ui)
ui
- TreeUI
L&F 物件UIDefaults.getUI(javax.swing.JComponent)
public void updateUI()
UIManager
發出的關於 L&F 已經更改的通知。用 UIManager
的最新版本替換當前的 UI 物件。
JComponent
中的 updateUI
JComponent.updateUI()
public String getUIClassID()
JComponent
中的 getUIClassID
JComponent.getUIClassID()
,
UIDefaults.getUI(javax.swing.JComponent)
public TreeCellRenderer getCellRenderer()
TreeCellRenderer
。
TreeCellRenderer
public void setCellRenderer(TreeCellRenderer x)
TreeCellRenderer
。
x
- 將呈現每個單元格的 TreeCellRenderer
public void setEditable(boolean flag)
flag
- boolean 值,如果階層樹可編輯,則為 truepublic boolean isEditable()
public void setCellEditor(TreeCellEditor cellEditor)
null
值表示階層樹無法編輯。如果這表示 cellEditor
中的一個更改,則在所有偵聽器上調用 propertyChange
方法。
cellEditor
- 要使用的 TreeCellEditor
public TreeCellEditor getCellEditor()
TreeCellEditor
,如果階層樹無法編輯,則返回 null
public TreeModel getModel()
TreeModel
。
TreeModel
public void setModel(TreeModel newModel)
TreeModel
。
newModel
- 將提供資料的 TreeModel
public boolean isRootVisible()
rootVisible
public void setRootVisible(boolean rootVisible)
TreeModel
的根節點是否可見。
rootVisible
- 如果將顯示階層樹的根節點,則為 truerootVisible
public void setShowsRootHandles(boolean newValue)
showsRootHandles
屬性的值,它指定是否應顯示節點句柄。此屬性的預設值取決於用於創建 JTree
的建構子。某些外觀可能不支持句柄;它們將忽略此屬性。
newValue
- 如果顯示根句柄,則為 true
;否則為 false
showsRootHandles
,
getShowsRootHandles()
public boolean getShowsRootHandles()
showsRootHandles
屬性的值。
showsRootHandles
屬性的值showsRootHandles
public void setRowHeight(int rowHeight)
rowHeight
- 每個單元格的高度(以像素為單位)public int getRowHeight()
public boolean isFixedRowHeight()
public void setLargeModel(boolean newValue)
newValue
- 如果 UI 使用大模型,則為 truelargeModel
public boolean isLargeModel()
largeModel
public void setInvokesStopCellEditing(boolean newValue)
true
可導致在編輯被中斷時自動保存更改。
觸發 INVOKES_STOP_CELL_EDITING_PROPERTY 的屬性更改。
newValue
- true 意味著當編輯中斷時,調用 stopCellEditing
,並保存資料;false 意味著調用 cancelCellEditing
,並丟失更改public boolean getInvokesStopCellEditing()
setInvokesStopCellEditing(boolean)
public void setScrollsOnExpand(boolean newValue)
scrollsOnExpand
屬性,它確定階層樹是否可以滾動顯示以前隱藏的子節點。如果此屬性為 true
(預設值),則當節點展開時,階層樹可以使用滾動來顯示該節點的盡可能多的子節點。某些外觀中,階層樹在展開時可能不需要滾動;這些外觀會忽略此屬性。
newValue
- false
表示展開時禁用滾動;true
表示啟用滾動getScrollsOnExpand()
public boolean getScrollsOnExpand()
scrollsOnExpand
屬性的值。
scrollsOnExpand
屬性的值public void setToggleClickCount(int clickCount)
public int getToggleClickCount()
public void setExpandsSelectedPaths(boolean newValue)
expandsSelectedPaths
屬性。如果為 true,則在任何時候通過 TreeSelectionModel
或 JTree
提供的覆寫方法更改選擇時,將展開 TreePath
的父路徑,使它們可見(可見是指父路徑不一定在 JTree
的可見矩形內展開)。如果為 false,當選擇更改時,節點的父節點不可見(展開的所有父節點)。如果希望使您的選擇模型維持並不總是可見的路徑(展開的所有父路徑),那麼這一點非常有用。
newValue
- expandsSelectedPaths
的新值public boolean getExpandsSelectedPaths()
expandsSelectedPaths
屬性。
setExpandsSelectedPaths(boolean)
public void setDragEnabled(boolean b)
true
,並且階層樹的 TransferHandler
必須為非 null
。dragEnabled
屬性的預設值為 false
。
遵守此屬性以及識別使用者拖動動作的工作取決於外觀實作,尤其是階層樹的 TreeUI
。啟用自動拖動處理時,只要使用者在項上按下鼠標按鈕,並將鼠標移動幾個像素,大多數外觀(包括為 BasicLookAndFeel
創建子類別的外觀)就會開始拖放操作。因此,將此屬性設置為 true
可以對選擇行為產生微妙的影響。
如果使用忽略此屬性的外觀,仍然可以通過在階層樹的 TransferHandler
上調用 exportAsDrag
來開始拖放操作。
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.ON
提供與選擇類似的顯示項的行為,但執行此操作不會影響階層樹中的實際選擇。
JTree
支持以下放置網要:
DropMode.USE_SELECTION
DropMode.ON
DropMode.INSERT
DropMode.ON_OR_INSERT
只有此元件具有接受放置操作的 TransferHandler
時,該放置網要才是有意義的。
dropMode
- 要使用的放置網要
IllegalArgumentException
- 如果放置網要不受支持或為 null
getDropMode()
,
getDropLocation()
,
JComponent.setTransferHandler(javax.swing.TransferHandler)
,
TransferHandler
public final DropMode getDropMode()
setDropMode(javax.swing.DropMode)
public final JTree.DropLocation getDropLocation()
null
。
此方法不用於從 TransferHandler
查詢放置操作,因為放置操作只有在 TransferHandler
的 canImport
已返回並允許顯示該位置之後才被設置。
當此屬性更改時,該元件將觸發名為 "dropLocation" 的屬性更改事件。
setDropMode(javax.swing.DropMode)
,
TransferHandler.canImport(TransferHandler.TransferSupport)
public boolean isPathEditable(TreePath path)
isEditable
。在編輯開始確保給定的路徑可以編輯之前,這可以從 UI 調用。這作為子類別的入口點提供,以添加經過過濾的編輯,而無需借助於創建新編輯器。
isEditable()
public String getToolTipText(MouseEvent event)
JComponent
的 getToolTipText
方法,以允許使用渲染器的提示(如果渲染器設置了文本)。
註:對於要正確顯示其渲染器工具提示的 JTree
,JTree
必須是向 ToolTipManager
註冊的元件。這可以通過調用 ToolTipManager.sharedInstance().registerComponent(tree)
來完成。它不能自動完成!
JComponent
中的 getToolTipText
event
- 啟動 ToolTip
顯示的 MouseEvent
event
為 null,則返回 null
public String convertValueToText(Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus)
value.toString
,忽略所有其他參數。要控制該轉換,則為此方法創建子類別,並使用需要的任何參數。
value
- 要轉換成文本的 Object
selected
- 如果選中節點,則為 trueexpanded
- 如果展開節點,則為 trueleaf
- 如果節點是葉節點,則為 truerow
- 指定節點的顯示行的整數,其中 0 表示顯示的第一行hasFocus
- 如果節點有焦點,則為 true
String
表示形式public int getRowCount()
public void setSelectionPath(TreePath path)
getExpandsSelectedPaths
為 true,則公開它(可查看)。
path
- 指定要選擇的節點的 TreePath
public void setSelectionPaths(TreePath[] paths)
getExpandsSelectedPaths
為 true,則公開它(可查看)。
paths
- 指定要選擇的節點的 TreePath
物件陣列public void setLeadSelectionPath(TreePath newPath)
JTree
不維持前導路徑,UI 將更新它。
newPath
- 新的前導路徑public void setAnchorSelectionPath(TreePath newPath)
JTree
不維持定位路徑,UI 將更新它。
newPath
- 新的定位路徑public void setSelectionRow(int row)
row
- 要選擇的行,其中 0 是顯示的第一行public void setSelectionRows(int[] rows)
rows
的特定元素 < 0 或 >= getRowCount
,則它會被忽略。如果 rows
中的元素都不是有效的行,則會清除該選擇。這就好像調用 clearSelection
一樣。
rows
- 指定要選擇的行的 int 陣列,其中 0 指示顯示的第一行public void addSelectionPath(TreePath path)
TreePath
標識的節點添加到當前選擇。如果路徑的所有元件都不可查看,並且 getExpandsSelectedPaths
為 true,則使得其可以查看。
注意,JTree
不允許完全相同的節點作為子節點存在於同一父節點之下 - 每個兄弟節點必須是惟一的物件。
path
- 要添加的 TreePath
public void addSelectionPaths(TreePath[] paths)
getExpandsSelectedPaths
為 true,則其可以查看。
注意,JTree
不允許完全相同的節點作為子節點存在於同一父節點之下 - 每個兄弟節點必須是惟一的物件。
paths
- 指定要添加的節點的 TreePath
物件陣列public void addSelectionRow(int row)
row
- 指定要添加的節點行的整數,其中 0 表示顯示的第一行public void addSelectionRows(int[] rows)
rows
- 指定要添加的行的 int 陣列,其中 0 指示顯示的第一行public Object getLastSelectedPathComponent()
TreePath
中的最後一個 Object
,若未選擇任何內容,則返回 null
TreePath.getLastPathComponent()
public TreePath getLeadSelectionPath()
public TreePath getAnchorSelectionPath()
public TreePath getSelectionPath()
TreePath
,如果當前未選擇任何內容,則返回 null
public TreePath[] getSelectionPaths()
TreePath
物件的陣列,如果當前未選擇任何內容,則返回 null
public int[] getSelectionRows()
TreeSelectionModel
。若未選擇任何內容,則返回 null
或一個空陣列,具體取決於 TreeSelectionModel
的實作。
public int getSelectionCount()
public int getMinSelectionRow()
public int getMaxSelectionRow()
public int getLeadSelectionRow()
leadPath
為 null
,則返回 -1public boolean isPathSelected(TreePath path)
path
- 標識節點的 TreePath
public boolean isRowSelected(int row)
row
- 指定一個顯示行的整數,其中 0 表示顯示的第一行
public Enumeration<TreePath> getExpandedDescendants(TreePath parent)
parent
路徑的子路徑的 Enumeration
。如果當前沒有展開 parent
,將返回 null
。如果在返回的 Enumeration
上迭代時展開/折疊節點,則不能返回所有展開的路徑,或者可能返回不再展開的路徑。
parent
- 要檢查的路徑
parent
的子路徑的 Enumeration
,如果當前沒有展開 parent
,則返回 null
public boolean hasBeenExpanded(TreePath path)
path
,則返回 truepublic boolean isExpanded(TreePath path)
path
- 指定要檢查的節點的 TreePath
public boolean isExpanded(int row)
row
- 要檢查的行,其中 0 表示顯示的第一行
public boolean isCollapsed(TreePath path)
path
- 要檢查的 TreePath
public boolean isCollapsed(int row)
row
- 要檢查的行,其中 0 表示顯示的第一行
public void makeVisible(TreePath path)
path
- 使之可查看的 TreePath
public boolean isVisible(TreePath path)
public Rectangle getPathBounds(TreePath path)
Rectangle
。如果隱藏了路徑中的任何元件(在折疊的父路徑下),則返回 null
。
註:
此方法返回一個有效的矩形,即使當前不顯示指定的節點。
path
- 標識節點的 TreePath
Rectangle
,或者返回 null
public Rectangle getRowBounds(int row)
Rectangle
。
row
- 要繪製的行,其中 0 表示顯示的第一行
Rectangle
public void scrollPathToVisible(TreePath path)
JTree
套件含在 JScrollPane
中時才工作。
path
- 標識引入視圖的節點的 TreePath
public void scrollRowToVisible(int row)
JTree
套件含在 JScrollPane
中時才工作。
row
- 指定要滾動的行的整數,其中 0 表示顯示的第一行public TreePath getPathForRow(int row)
row
不可見,則返回 null
。
row
- 指定行的整數
TreePath
,如果 row < 0
或 row > getRowCount()
,則返回 null
public int getRowForPath(TreePath path)
path
- 標識節點的 TreePath
public void expandPath(TreePath path)
path
- 標識節點的 TreePath
public void expandRow(int row)
如果 row
< 0 或 >= getRowCount
,則此方法無效。
row
- 指定一個顯示行的整數,其中 0 表示顯示的第一行public void collapsePath(TreePath path)
path
- 標識節點的 TreePath
public void collapseRow(int row)
如果 row
< 0 或 >= getRowCount
,則此方法無效。
row
- 指定一個顯示行的整數,其中 0 表示顯示的第一行public TreePath getPathForLocation(int x, int y)
x
- 提供水平像素數的整數,從顯示區域左邊開始減去左邊距y
- 提供垂直像素數的整數,從顯示區域頂部開始減去頂邊距
TreePath
public int getRowForLocation(int x, int y)
x
- 提供水平像素數的整數,從顯示區域左邊開始減去左邊距y
- 提供垂直像素數的整數,從顯示區域頂部開始減去頂邊距
getClosestRowForLocation(int, int)
public TreePath getClosestPathForLocation(int x, int y)
null
,否則始終返回有效路徑。要測試該節點是否正好位於 x, y,請獲取該節點的邊界,並根據該邊界測試 x, y。
x
- 提供水平像素數的整數,從顯示區域左邊開始減去左邊距y
- 提供垂直像素數的整數,從顯示區域頂部開始減去頂邊距
TreePath
,如果沒有可查看內容,或不存在模型,則返回 null
getPathForLocation(int, int)
,
getPathBounds(javax.swing.tree.TreePath)
public int getClosestRowForLocation(int x, int y)
x
- 提供水平像素數的整數,從顯示區域左邊開始減去左邊距y
- 提供垂直像素數的整數,從顯示區域頂部開始減去頂邊距
getRowForLocation(int, int)
,
getRowBounds(int)
public boolean isEditing()
getSelectionPath
可以獲取正在編輯的項。
getSelectionPath()
public boolean stopEditing()
DefaultTreeCellEditor
物件可以保存當前在單元格上進行的任何編輯。其他實作可以進行不同方式的操作。)如果不編輯階層樹,則沒有任何影響。
註:
當使用者在階層樹中更改它們的位置時,要使編輯-保存自動化,請使用setInvokesStopCellEditing(boolean)
。
public void cancelEditing()
public void startEditingAtPath(TreePath path)
CellEditor
不允許編輯指定的項,則編輯嘗試失敗。
path
- 標識節點的 TreePath
public TreePath getEditingPath()
TreePath
public void setSelectionModel(TreeSelectionModel selectionModel)
null
值,則使用空 selectionModel
,不允許選擇。
selectionModel
- 要使用的 TreeSelectionModel
,null
表示禁用選擇TreeSelectionModel
public TreeSelectionModel getSelectionModel()
null
值。如果您不希望允許選擇任何內容,則將選擇模型設置為 null
,它會強制使用空選擇模型。
setSelectionModel(javax.swing.tree.TreeSelectionModel)
protected TreePath[] getPathBetweenRows(int index0, int index1)
JTreePath
實例,它表示 index0 和 index1(包括 index1)之間的路徑。如果不存在階層樹,則返回 null
。
index0
- 指定一個顯示行的整數,其中 0 表示顯示的第一行index1
- 指定第二個顯示行的整數
TreePath
物件的陣列(index0 和 index1 之間的每個節點包含一個該物件);如果不存在階層樹,則返回 null
public void setSelectionInterval(int index0, int index1)
index0
- 指定一個顯示行的整數,其中 0 是顯示的第一行index1
- 指定第二個顯示行的整數public void addSelectionInterval(int index0, int index1)
index0
- 指定一個顯示行的整數,其中 0 是顯示的第一行index1
- 指定第二個顯示行的整數public void removeSelectionInterval(int index0, int index1)
index0
- 指定一個顯示行的整數,其中 0 是顯示的第一行index1
- 指定第二個顯示行的整數public void removeSelectionPath(TreePath path)
path
- 標識節點的 TreePath
public void removeSelectionPaths(TreePath[] paths)
paths
- 指定要移除的節點的 TreePath
物件陣列public void removeSelectionRow(int row)
row
處的行。
row
- 要移除的行public void removeSelectionRows(int[] rows)
rows
- 指定顯示行的 int 陣列,其中 0 表示顯示的第一行public void clearSelection()
public boolean isSelectionEmpty()
public void addTreeExpansionListener(TreeExpansionListener tel)
TreeExpansion
事件添加偵聽器。
tel
- 當展開或折疊(“負展開”)階層樹節點時,將要通知的 TreeExpansionListenerpublic void removeTreeExpansionListener(TreeExpansionListener tel)
TreeExpansion
事件的偵聽器。
tel
- 要移除的 TreeExpansionListener
public TreeExpansionListener[] getTreeExpansionListeners()
TreeExpansionListener
的陣列。
TreeExpansionListener
,若未添加任何偵聽器,則返回空陣列public void addTreeWillExpandListener(TreeWillExpandListener tel)
TreeWillExpand
事件添加偵聽器。
tel
- 當展開或折疊(“負展開”)階層樹節點時,將要通知的 TreeWillExpandListener
public void removeTreeWillExpandListener(TreeWillExpandListener tel)
TreeWillExpand
事件的偵聽器。
tel
- 要移除的 TreeWillExpandListener
public TreeWillExpandListener[] getTreeWillExpandListeners()
TreeWillExpandListener
的陣列。
TreeWillExpandListener
,若未添加任何偵聽器,則返回空陣列public void fireTreeExpanded(TreePath path)
path
參數以延遲方式創建事件實例。
path
- 指示展開的節點的 TreePath
EventListenerList
public void fireTreeCollapsed(TreePath path)
path
參數以延遲方式創建事件實例。
path
- 指示折疊的節點的 TreePath
EventListenerList
public void fireTreeWillExpand(TreePath path) throws ExpandVetoException
path
參數以延遲方式創建事件實例。
path
- 指示展開的節點的 TreePath
ExpandVetoException
EventListenerList
public void fireTreeWillCollapse(TreePath path) throws ExpandVetoException
path
參數以延遲方式創建事件實例。
path
- 指示展開的節點的 TreePath
ExpandVetoException
EventListenerList
public void addTreeSelectionListener(TreeSelectionListener tsl)
TreeSelection
事件添加偵聽器。
tsl
- 當選中或取消選中(“負選擇”)節點時,將要通知的 TreeSelectionListener
public void removeTreeSelectionListener(TreeSelectionListener tsl)
TreeSelection
偵聽器。
tsl
- 要移除的 TreeSelectionListener
public TreeSelectionListener[] getTreeSelectionListeners()
TreeSelectionListener
的陣列。
TreeSelectionListener
,若未添加任何偵聽器,則返回空陣列protected void fireValueChanged(TreeSelectionEvent e)
e
- 要觸發的 TreeSelectionEvent
;當選中或取消選中節點時,由 TreeSelectionModel
產生EventListenerList
public void treeDidChange()
public void setVisibleRowCount(int newCount)
JScrollPane
中時才工作,並將調整首選大小和該滾動窗格的大小。
newCount
- 要顯示的行數public int getVisibleRowCount()
public TreePath getNextMatch(String prefix, int startingRow, Position.Bias bias)
TreePath
到字元串的轉換,將用到 convertValueToText
。
prefix
- 要測試是否比對的字元串startingRow
- 用於啟動搜尋的行bias
- 搜尋方向,Position.Bias.Forward 或 Position.Bias.Backward。
IllegalArgumentException
- 如果前綴為 null,或 startingRow 在邊界之外public Dimension getPreferredScrollableViewportSize()
JTree
的首選顯示大小。高度根據 getVisibleRowCount
確定,寬度是當前的首選寬度。
Scrollable
中的 getPreferredScrollableViewportSize
Dimension
物件JComponent.getPreferredSize()
public int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
Scrollable
中的 getScrollableUnitIncrement
visibleRect
- 視口中可見的視圖區域orientation
- SwingConstants.VERTICAL
或 SwingConstants.HORIZONTAL
direction
- 小於 0 向上/左滾動,大於 0 向下/右滾動
JScrollBar.setUnitIncrement(int)
public int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction)
orientation
的 visibleRect
高度或寬度。
Scrollable
中的 getScrollableBlockIncrement
visibleRect
- 視口中可見的視圖區域orientation
- SwingConstants.VERTICAL
或 SwingConstants.HORIZONTAL
direction
- 小於 0 向上/左滾動,大於 0 向下/右滾動。
JScrollBar.setBlockIncrement(int)
public boolean getScrollableTracksViewportWidth()
Scrollable
中的 getScrollableTracksViewportWidth
Scrollable.getScrollableTracksViewportWidth()
public boolean getScrollableTracksViewportHeight()
Scrollable
中的 getScrollableTracksViewportHeight
Scrollable.getScrollableTracksViewportHeight()
protected void setExpandedState(TreePath path, boolean state)
JTree
的展開狀態。如果 state
為 true,則 path
的所有父路徑和路徑都被標記為展開。如果 state
為 false,則 path
的所有父路徑被標記為展開,但是 path
本身被標記為折疊。
如果 TreeWillExpandListener
禁止它,則會失敗。
protected Enumeration<TreePath> getDescendantToggledPaths(TreePath parent)
parent
的子路徑的 TreePath
的 Enumeration
。
protected void removeDescendantToggledPaths(Enumeration<TreePath> toRemove)
toRemove
中 TreePath
的所有子路徑。
protected void clearToggledPaths()
TreeExpansionListener
事件。
protected TreeModelListener createTreeModelListener()
TreeModelHandler
的一個實例。返回的物件負責 TreeModel
更改時更新展開的狀態。
有關展開狀態的含義的更多資訊,請參閱上述 JTree 描述。
protected boolean removeDescendantSelectedPaths(TreePath path, boolean includePath)
path
的子路徑)。如果 includePath
為 true,並且選中 path
,則從該選擇中移除它。
protected String paramString()
JTree
的字元串表示形式。此方法僅在進行除錯的時候使用,對於各個實作,所返回字元串的內容和格式可能有所不同。返回的字元串可能為空,但不可能為 null
。
JComponent
中的 paramString
JTree
的字元串表示形式。public AccessibleContext getAccessibleContext()
Accessible
中的 getAccessibleContext
JComponent
中的 getAccessibleContext
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。