|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponent javax.swing.JSplitPane
public class JSplitPane
JSplitPane
用於分隔兩個(只能兩個)Component
。兩個 Component
圖形化分隔以外觀實作為基礎,並且這兩個 Component
可以由使用者交談式調整大小。有關如何使用 JSplitPane
的資訊,請參閱 The Java Tutorial 中的 How to Use Split Panes 一節。
使用 JSplitPane.HORIZONTAL_SPLIT
可讓分隔窗格中的兩個 Component
從左到右排列,或者使用 JSplitPane.VERTICAL_SPLIT
使其從上到下排列。改變 Component
大小的首選方式是調用 setDividerLocation
,其中 location
是新的 x 或 y 位置,具體取決於 JSplitPane
的方向。
要將 Component
調整到其首選大小,可調用 resetToPreferredSizes
。
當使用者調整 Component
的大小時,Component
的最小大小用於確定 Component
能夠設置的最大/最小位置。如果兩個元件的最小大小大於分隔窗格的大小,則分隔條將不允許您調整其大小。改變 JComponent
最小大小,請參閱 JComponent.setMinimumSize(java.awt.Dimension)
。
當使用者調整分隔窗格大小時,新的空間以 resizeWeight
為基礎在兩個元件之間分派。預設情況下,值為 0 表示右邊/底部的元件獲得所有空間,而值為 1 表示左邊/頂部的元件獲得所有空間。
警告:Swing 不是執行緒安全的。有關更多資訊,請參閱 Swing's Threading Policy。
警告:此類別的序列化物件與以後的 Swing 版本不相容。當前序列化支持適用於短期存儲,或適用於在運行相同 Swing 版本的應用程序之間進行 RMI(Remote Method Invocation,遠端方法調用)。從 1.4 版本開始,已在 java.beans
套件中添加了支持所有 JavaBeansTM 長期存儲的功能。請參見 XMLEncoder
。
setDividerLocation(double)
,
resetToPreferredSizes()
巢狀類別摘要 | |
---|---|
protected class |
JSplitPane.AccessibleJSplitPane
此類別實作 JSplitPane 類別的可存取性支持。 |
從類別 javax.swing.JComponent 繼承的巢狀類別/介面 |
---|
JComponent.AccessibleJComponent |
從類別 java.awt.Container 繼承的巢狀類別/介面 |
---|
Container.AccessibleAWTContainer |
從類別 java.awt.Component 繼承的巢狀類別/介面 |
---|
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy |
欄位摘要 | |
---|---|
static String |
BOTTOM
用於添加一個 Component 到另一個 Component 的下面。 |
static String |
CONTINUOUS_LAYOUT_PROPERTY
綁定 continuousLayout 屬性名稱。 |
protected boolean |
continuousLayout
當調整大小時視圖是否連續重新顯示。 |
static String |
DIVIDER
用於添加一個表示分隔條的 Component 。 |
static String |
DIVIDER_LOCATION_PROPERTY
綁定 dividerLocation 屬性。 |
static String |
DIVIDER_SIZE_PROPERTY
綁定 border 屬性名稱。 |
protected int |
dividerSize
分隔條大小。 |
static int |
HORIZONTAL_SPLIT
水平分割表示 Component 沿 x 軸分割。 |
static String |
LAST_DIVIDER_LOCATION_PROPERTY
綁定 lastLocation 屬性。 |
protected int |
lastDividerLocation
分隔窗格的上一個位置。 |
static String |
LEFT
用於添加一個 Component 到另一個 Component 的左邊。 |
protected Component |
leftComponent
左邊或者頂部的元件。 |
static String |
ONE_TOUCH_EXPANDABLE_PROPERTY
綁定 oneTouchExpandable 屬性。 |
protected boolean |
oneTouchExpandable
是否要提供一個小部件來快速展開/折疊分隔窗格。 |
protected int |
orientation
如何分割視圖。 |
static String |
ORIENTATION_PROPERTY
綁定 orientation(水平或者垂直)屬性名稱。 |
static String |
RESIZE_WEIGHT_PROPERTY
綁定 weight 屬性。 |
static String |
RIGHT
用於添加一個 Component 到另一個 Component 的右邊。 |
protected Component |
rightComponent
右邊或者底部的元件。 |
static String |
TOP
用於添加一個 Component 到另一個 Component 的上面。 |
static int |
VERTICAL_SPLIT
垂直分割表示 Component 沿 y 軸分割。 |
從類別 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 |
建構子摘要 | |
---|---|
JSplitPane()
創建一個配置為將其子元件水平排列、無連續佈局、為元件使用兩個按鈕的新 JSplitPane 。 |
|
JSplitPane(int newOrientation)
創建一個配置為指定方向且無連續佈局的新 JSplitPane 。 |
|
JSplitPane(int newOrientation,
boolean newContinuousLayout)
創建一個具有指定方向和重繪方式的新 JSplitPane 。 |
|
JSplitPane(int newOrientation,
boolean newContinuousLayout,
Component newLeftComponent,
Component newRightComponent)
創建一個具有指定方向、重繪方式和指定元件的新 JSplitPane 。 |
|
JSplitPane(int newOrientation,
Component newLeftComponent,
Component newRightComponent)
創建一個具有指定方向和不連續重繪的指定元件的新 JSplitPane 。 |
方法摘要 | |
---|---|
protected void |
addImpl(Component comp,
Object constraints,
int index)
將指定元件添加到此分隔窗格。 |
AccessibleContext |
getAccessibleContext()
獲取與 JSplitPane 關聯的 AccessibleContext。 |
Component |
getBottomComponent()
返回分隔條下面或者右邊的元件。 |
int |
getDividerLocation()
返回最後傳遞給 setDividerLocation 的值。 |
int |
getDividerSize()
返回分隔條的大小。 |
int |
getLastDividerLocation()
返回分隔條所處的最後位置。 |
Component |
getLeftComponent()
返回分隔條左邊(或者上面)的元件。 |
int |
getMaximumDividerLocation()
返回外觀實作中分隔條的最大位置。 |
int |
getMinimumDividerLocation()
返回外觀實作中分隔條的最小位置。 |
int |
getOrientation()
返回方向。 |
double |
getResizeWeight()
返回確定額外空間如何分派的數。 |
Component |
getRightComponent()
返回分隔條右邊(或者下面)的元件。 |
Component |
getTopComponent()
返回分隔條上面或者左邊的元件。 |
SplitPaneUI |
getUI()
返回提供當前外觀的 SplitPaneUI 。 |
String |
getUIClassID()
返回呈現此元件的 L&F 類別名。 |
boolean |
isContinuousLayout()
獲取 continuousLayout 屬性。 |
boolean |
isOneTouchExpandable()
獲取 oneTouchExpandable 屬性。 |
boolean |
isValidateRoot()
如果返回 true,則在此 JSplitPane 的任何後代上調用 revalidate ,將導致在佇列中加入一個驗證 JSplitPane 及其所有後代的一個請求。 |
protected void |
paintChildren(Graphics g)
通知父級類別後,UI 通過 finishedPaintingChildren 通知子類別,同時繪製邊框。 |
protected String |
paramString()
返回此 JSplitPane 的字元串表示形式。 |
void |
remove(Component component)
移除窗格中的子元件 component 。 |
void |
remove(int index)
移除指定索引處的 Component 。 |
void |
removeAll()
從分隔窗格中移除所有子元件。 |
void |
resetToPreferredSizes()
以子元件的首選大小為基礎調整 JSplitPane 的佈局。 |
void |
setBottomComponent(Component comp)
將元件設置到分隔條的下面或者右邊。 |
void |
setContinuousLayout(boolean newContinuousLayout)
設置 continuousLayout 屬性的值,在使用者干預期要使子元件連續地重新顯示和佈局子元件,此值必須為 true 。 |
void |
setDividerLocation(double proportionalLocation)
設置分隔條的位置為 JSplitPane 大小的一個百分比。 |
void |
setDividerLocation(int location)
設置分隔條的位置。 |
void |
setDividerSize(int newSize)
設置分隔條的大小。 |
void |
setLastDividerLocation(int newLastLocation)
將分隔條所處的最後位置設置為 newLastLocation 。 |
void |
setLeftComponent(Component comp)
將元件設置到分隔條的左邊(或上面)。 |
void |
setOneTouchExpandable(boolean newValue)
設置 oneTouchExpandable 屬性的值,要使 JSplitPane 在分隔條上提供一個 UI 小部件來快速展開/折疊分隔條,此屬性必須為 true 。 |
void |
setOrientation(int orientation)
設置方向,或者分隔窗格的方式。 |
void |
setResizeWeight(double value)
指定當分隔窗格的大小改變時如何分派額外空間。 |
void |
setRightComponent(Component comp)
將元件設置到分隔條的右邊(或者下面)。 |
void |
setTopComponent(Component comp)
將元件設置到分隔條的上面或者左邊。 |
void |
setUI(SplitPaneUI ui)
設置呈現此元件的 L&F 物件。 |
void |
updateUI()
UIManager 發出的關於 L&F 已改變的通知。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
欄位詳細資訊 |
---|
public static final int VERTICAL_SPLIT
Component
沿 y 軸分割。例如,兩個 Component
將被分割成一個在另一個頂上。
public static final int HORIZONTAL_SPLIT
Component
沿 x 軸分割。例如,兩個 Component
將被分割成一個在另一個左邊。
public static final String LEFT
Component
到另一個 Component
的左邊。
public static final String RIGHT
Component
到另一個 Component
的右邊。
public static final String TOP
Component
到另一個 Component
的上面。
public static final String BOTTOM
Component
到另一個 Component
的下面。
public static final String DIVIDER
Component
。
public static final String ORIENTATION_PROPERTY
public static final String CONTINUOUS_LAYOUT_PROPERTY
public static final String DIVIDER_SIZE_PROPERTY
public static final String ONE_TOUCH_EXPANDABLE_PROPERTY
public static final String LAST_DIVIDER_LOCATION_PROPERTY
public static final String DIVIDER_LOCATION_PROPERTY
public static final String RESIZE_WEIGHT_PROPERTY
protected int orientation
protected boolean continuousLayout
protected Component leftComponent
protected Component rightComponent
protected int dividerSize
protected boolean oneTouchExpandable
protected int lastDividerLocation
建構子詳細資訊 |
---|
public JSplitPane()
JSplitPane
。
public JSplitPane(int newOrientation)
JSplitPane
。
newOrientation
- JSplitPane.HORIZONTAL_SPLIT
或 JSplitPane.VERTICAL_SPLIT
IllegalArgumentException
- 如果 orientation
不是 HORIZONTAL_SPLIT 或 VERTICAL_SPLIT 之一。public JSplitPane(int newOrientation, boolean newContinuousLayout)
JSplitPane
。
newOrientation
- JSplitPane.HORIZONTAL_SPLIT
或 JSplitPane.VERTICAL_SPLIT
newContinuousLayout
- 一個 boolean 值,當分隔條改變位置時元件連續重繪則為 true;當分隔條位置停止改變時才重繪則為 false
IllegalArgumentException
- 如果 orientation
不是 HORIZONTAL_SPLIT 或 VERTICAL_SPLIT 之一public JSplitPane(int newOrientation, Component newLeftComponent, Component newRightComponent)
JSplitPane
。
newOrientation
- JSplitPane.HORIZONTAL_SPLIT
或 JSplitPane.VERTICAL_SPLIT
newLeftComponent
- 將出現在水平分隔窗格的左邊或者垂直分隔窗格的頂部的 Component
newRightComponent
- 將出現在水平分隔窗格的右邊或者垂直分隔窗格的底部的 Component
IllegalArgumentException
- 如果 orientation
不是 HORIZONTAL_SPLIT 或 VERTICAL_SPLIT 之一public JSplitPane(int newOrientation, boolean newContinuousLayout, Component newLeftComponent, Component newRightComponent)
JSplitPane
。
newOrientation
- JSplitPane.HORIZONTAL_SPLIT
或 JSplitPane.VERTICAL_SPLIT
newContinuousLayout
- 一個 boolean 值,當分隔條改變位置時元件連續重繪則為 true;當分隔條位置停止改變時才重繪則為 falsenewLeftComponent
- 將出現在水平分隔窗格的左邊或者垂直分隔窗格的頂部的 Component
newRightComponent
- 將出現在水平分隔窗格的右邊或者垂直分隔窗格的底部的 Component
IllegalArgumentException
- 如果 orientation
不是 HORIZONTAL_SPLIT 或 VERTICAL_SPLIT 之一方法詳細資訊 |
---|
public void setUI(SplitPaneUI ui)
ui
- SplitPaneUI
的 L&F 物件UIDefaults.getUI(javax.swing.JComponent)
public SplitPaneUI getUI()
SplitPaneUI
。
SplitPaneUI
物件public void updateUI()
UIManager
發出的關於 L&F 已改變的通知。用來自 UIManager
的最新版本 UI 物件替換當前的 UI 物件。
JComponent
中的 updateUI
JComponent.updateUI()
public String getUIClassID()
JComponent
中的 getUIClassID
JComponent.getUIClassID()
,
UIDefaults.getUI(javax.swing.JComponent)
public void setDividerSize(int newSize)
newSize
- 給定分隔條大小的一個整數,以像素為單位public int getDividerSize()
public void setLeftComponent(Component comp)
comp
- 在該位置中顯示的 Component
public Component getLeftComponent()
Component
public void setTopComponent(Component comp)
comp
- 在該位置中顯示的 Component
public Component getTopComponent()
Component
public void setRightComponent(Component comp)
comp
- 在該位置中顯示的 Component
public Component getRightComponent()
Component
public void setBottomComponent(Component comp)
comp
- 在該位置中顯示的 Component
public Component getBottomComponent()
Component
public void setOneTouchExpandable(boolean newValue)
oneTouchExpandable
屬性的值,要使 JSplitPane
在分隔條上提供一個 UI 小部件來快速展開/折疊分隔條,此屬性必須為 true
。此屬性的預設值為 false
。有些外觀可能不支持一鍵展開;它們將忽略此屬性。
newValue
- 指定為 true
,則分隔窗格應該提供一個折疊/展開的小部件isOneTouchExpandable()
public boolean isOneTouchExpandable()
oneTouchExpandable
屬性。
oneTouchExpandable
的值setOneTouchExpandable(boolean)
public void setLastDividerLocation(int newLastLocation)
newLastLocation
。
newLastLocation
- 指定分隔條最後位置從窗格的左邊(或者上邊)到分隔條的左邊(或者上邊)的一個整數,以像素為單位public int getLastDividerLocation()
public void setOrientation(int orientation)
orientation
- 指定方向的一個整數
IllegalArgumentException
- 如果方向不是如下之一:HORIZONTAL_SPLIT 或 VERTICAL_SPLIT。public int getOrientation()
setOrientation(int)
public void setContinuousLayout(boolean newContinuousLayout)
continuousLayout
屬性的值,在使用者干預期要使子元件連續地重新顯示和佈局子元件,此值必須為 true
。此屬性的預設值為 false
。一些外觀可能不支持連續佈局;它們將忽略此屬性。
newContinuousLayout
- 如果分隔條改變位置時元件連續重繪,則為 true
isContinuousLayout()
public boolean isContinuousLayout()
continuousLayout
屬性。
continuousLayout
屬性的值setContinuousLayout(boolean)
public void setResizeWeight(double value)
value
- 如上所述
IllegalArgumentException
- 如果 value
小於 0 或者大於 1public double getResizeWeight()
public void resetToPreferredSizes()
JSplitPane
的佈局。這將可能導致分隔條位置的改變。
public void setDividerLocation(double proportionalLocation)
JSplitPane
大小的一個百分比。
根據 setDividerLocation(int)
來實作此方法。此方法以分隔窗格的當前大小為基礎迅速改變窗格的大小。如果分隔窗格沒有正確地實作並且不顯示在螢幕上,此方法將不產生任何影響(新的分隔條位置將成為 0(當前的 size * proportionalLocation ))。
proportionalLocation
- 指示百分比的雙精度浮點值,從 0 (top/left) 到 1.0 (bottom/right)
IllegalArgumentException
- 如果指定的位置為 < 0 or > 1.0public void setDividerLocation(int location)
setLastDividerLocation
更新。
location
- 指定特定於 UI 值的一個整數(通常以像素為單位)public int getDividerLocation()
setDividerLocation
的值。此方法返回的值可能與實際的分隔條位置不同(如果傳遞給 setDividerLocation
的值大於當前大小)。
public int getMinimumDividerLocation()
null
,則返回 -1public int getMaximumDividerLocation()
null
,則返回 -1public void remove(Component component)
component
。如果必要,可重設 leftComponent
或 rightComponent
實例變數。
Container
中的 remove
component
- 要移除的 Component
Container.add(java.awt.Component)
,
Container.validate()
,
Container.remove(int)
public void remove(int index)
Component
。如果必要,可更新 leftComponent
和 rightComponent
實例變數,然後通知父級類別。
Container
中的 remove
index
- 指定要移除的元件的一個整數,為 1 時指定左邊/頂部的元件,為 2 指定底部/右邊的元件Container.add(java.awt.Component)
,
Container.validate()
,
Container.getComponentCount()
public void removeAll()
leftComponent
和 rightComponent
實例變數。
Container
中的 removeAll
Container.add(java.awt.Component)
,
Container.remove(int)
public boolean isValidateRoot()
JSplitPane
的任何後代上調用 revalidate
,將導致在佇列中加入一個驗證 JSplitPane
及其所有後代的一個請求。
JComponent
中的 isValidateRoot
JComponent.revalidate()
protected void addImpl(Component comp, Object constraints, int index)
constraints
標識左邊/頂部或者右邊/底部的子元件,並且之前已添加了一個具有該標識符的元件,則該元件將被移除,然後 comp
將被添加到該位置。如果 constraints
不是已知的標識符之一,則佈局管理器可能拋出一個 IllegalArgumentException
。
可能的約束物件(字元串)是:
constraints
物件為 null
,則元件將被添加到第一個可用位置(如果展開,則為左邊/頂部;否則為右邊/底部)。
Container
中的 addImpl
comp
- 要添加的元件constraints
- 指定此元件佈局約束(位置)的一個 Object
index
- 指定容器列表中索引的一個整數。
IllegalArgumentException
- 如果 constraints
物件不比對現有的元件Container.addImpl(Component, Object, int)
protected void paintChildren(Graphics g)
finishedPaintingChildren
通知子類別,同時繪製邊框。
JComponent
中的 paintChildren
g
- 在其中進行繪製的 Graphics
上下文JComponent.paint(java.awt.Graphics)
,
Container.paint(java.awt.Graphics)
protected String paramString()
JSplitPane
的字元串表示形式。此方法僅在進行除錯的時候使用,對於各個實作,所返回字元串的內容和格式可能有所不同。返回的字元串可能為空,但不可能為 null
。
JComponent
中的 paramString
JSplitPane
的字元串表示形式。public AccessibleContext getAccessibleContext()
Accessible
中的 getAccessibleContext
JComponent
中的 getAccessibleContext
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。