|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個軟體套件 下一個軟體套件 | 框架 無框架 | |||||||||
請參見:
描述
| 介面摘要 | |
|---|---|
| Action | Action 介面提供 ActionListener 介面的一個有用擴展,以便若干控制元件存取相同的功能。 |
| BoundedRangeModel | 定義由 Slider 和 ProgressBar 這類別元件使用的資料模型。 |
| ButtonModel | 按鈕的狀態模型。 |
| CellEditor | 此介面定義任何通用編輯器應該能夠實作的方法。 |
| ComboBoxEditor | 用於 JComboBox 元件的編輯器元件。 |
| ComboBoxModel | 用於組合框的資料模型。 |
| DesktopManager | DesktopManager 物件由 DesktopPane 物件所擁有。 |
| Icon | 一個小的固定大小圖片,通常用於裝飾元件。 |
| JComboBox.KeySelectionManager | 定義 KeySelectionManager 的介面。 |
| ListCellRenderer | 標識可用作“橡皮圖章”以繪製 JList 中單元格的元件。 |
| ListModel | 此介面定義方法元件(如 JList),這些元件用於獲取列表中每個單元格的值以及列表的長度。 |
| ListSelectionModel | 此介面表示任何元件的當前選擇狀態,該元件顯示一個具有穩定索引的值列表。 |
| MenuElement | 可以放入選單中的所有元件都應該實作此介面。 |
| MutableComboBoxModel | ComboBoxModel 的可變版本。 |
| Renderer | 為負責“呈現”(顯示)值的物件定義需求。 |
| RootPaneContainer | 此介面由具有單個 JRootPane 子元件的元件來實作,這些子元件包括:JDialog、JFrame、JWindow、JApplet、JInternalFrame。 |
| Scrollable | 為類似 JScrollPane 的滾動容器提供資訊的介面。 |
| ScrollPaneConstants | 與 JScrollPane 元件一起使用的常數。 |
| SingleSelectionModel | 最多支持一個索引選項的模型。 |
| SpinnerModel | 物件值的潛在無界序列的模型。 |
| SwingConstants | 通常用於在螢幕上定位或定向元件的常數的集合。 |
| UIDefaults.ActiveValue | 此類別使使用者能夠在預設表中存儲項,該預設表在每次使用某個 getXXX(key) 方法進行尋找時創建。 |
| UIDefaults.LazyValue | 此類別使使用者能夠在預設表中存儲項,該預設表只有在第一次使用某個 getXXX(key) 方法進行尋找時才創建。 |
| WindowConstants | 用於控制視窗關閉操作的常數。 |
| 類別摘要 | |
|---|---|
| AbstractAction | 此類別提供 JFC Action 介面的預設實作。 |
| AbstractButton | 定義按鈕和選單項的一般行為。 |
| AbstractCellEditor | |
| AbstractListModel | 該資料模型的抽象定義提供一個帶內容的 List。 |
| AbstractSpinnerModel | 此類別提供 SpinnerModel 介面的 ChangeListener 部分,該介面應該適用於最具體的 SpinnerModel 實作。 |
| ActionMap | ActionMap 提供從 Object(稱為鍵 或 Action 名)到 Action 的映射。 |
| BorderFactory | 提供標準 Border 物件的處理器類別。 |
| Box | 使用 BoxLayout 物件作為其佈局管理器的一個輕量級容器。 |
| Box.Filler | 參與佈局但沒有視圖的輕量級元件的實作。 |
| BoxLayout | 允許垂直或水平佈置多個元件的佈局管理器。 |
| ButtonGroup | 此類別用於為一組按鈕創建一個多斥(multiple-exclusion)作用域。 |
| CellRendererPane | 此類別被插入在單元格渲染器與使用它們的元件之間。 |
| ComponentInputMap | ComponentInputMap 是與特定 JComponent 相關聯的 InputMap。 |
| DebugGraphics | 支持圖形除錯的圖形子類別。 |
| DefaultBoundedRangeModel | BoundedRangeModel 的一般實作。 |
| DefaultButtonModel | Button 元件的資料模型的預設實作。 |
| DefaultCellEditor | 表單元格和階層樹單元格的預設編輯器。 |
| DefaultComboBoxModel | 組合框的預設模型。 |
| DefaultDesktopManager | 此類別是 DesktopManager 的實作。 |
| DefaultFocusManager | 此類別已被廢棄,用 1.4 focus API 取代。 |
| DefaultListCellRenderer | 呈現列表中的一個項。 |
| DefaultListCellRenderer.UIResource | 實作 UIResource 的 DefaultListCellRenderer 的子類別。 |
| DefaultListModel | 此類別以鬆散方式實作 java.util.Vector API,它實作 1.1.x 版本的 java.util.Vector,沒有 collection 類別支持,並且在發生更改時通知 ListDataListener。 |
| DefaultListSelectionModel | 列表選擇的預設資料模型。 |
| DefaultRowSorter<M,I> | RowSorter 的一個實作,它圍繞基於網格的資料模型提供排序和過濾操作。 |
| DefaultRowSorter.ModelWrapper<M,I> | DefaultRowSorter.ModelWrapper 負責提供由 DefaultRowSorter 進行排序的資料。 |
| DefaultSingleSelectionModel | SingleSelectionModel 的一般實作。 |
| FocusManager | 從 1.4 focus API 開始,此類別已被廢棄。 |
| GrayFilter | 一個圖像過濾器,它通過將圖像轉換成灰度級圖像並增亮圖像中的像素來“禁用”圖像。 |
| GroupLayout | GroupLayout 是一個 LayoutManager,它將元件按層次分組,以決定它們在 Container 中的位置。 |
| ImageIcon | 一個 Icon 介面的實作,它根據 Image 繪製 Icon。 |
| InputMap | InputMap 提供輸入事件(目前只使用 KeyStroke)和 Object 之間的綁定。 |
| InputVerifier | 此類別的用途是通過帶文本欄位的 GUI 說明客戶端支持串流暢的焦點導航。 |
| InternalFrameFocusTraversalPolicy | 該 FocusTraversalPolicy 可以有選擇地提供確定 JInternalFrame 初始 Component 的演算法。 |
| JApplet | java.applet.Applet 的擴展版,它添加了對 JFC/Swing 元件架構的支持。 |
| JButton | "push" 按鈕的實作。 |
| JCheckBox | 複選框的實作,複選框是一個可以被選定和取消選定的項,它將其狀態顯示給使用者。 |
| JCheckBoxMenuItem | 可以被選定或取消選定的選單項。 |
| JColorChooser | JColorChooser 提供一個用於允許使用者操作和選擇顏色的控制器窗格。 |
| JComboBox | 將按鈕或可編輯欄位與下拉列表組合的元件。 |
| JComponent | 該類別是除頂層容器外所有 Swing 元件的基礎類別。 |
| JDesktopPane | 用於創建多文檔介面或虛擬桌面的容器。 |
| JDialog | 創建對話框視窗的主要類別。 |
| JEditorPane | 可編輯各種內容的文本元件。 |
| JFileChooser | JFileChooser 為使用者選擇檔案提供了一種簡單的機制。 |
| JFormattedTextField | JFormattedTextField 擴展了 JTextField,添加了對格式化任意值的支持,以及一旦使用者編輯了文本就檢索特定物件的支持。 |
| JFormattedTextField.AbstractFormatter | JFormattedTextField 所使用的 AbstractFormatter 實例,用於處理從 Object 到 String 和從 String 到 Object 的轉換。 |
| JFormattedTextField.AbstractFormatterFactory | JFormattedTextField 使用的 AbstractFormatterFactory 實例,用來獲得 AbstractFormatter 實例,依次使用該實例格式化各個值。 |
| JFrame | java.awt.Frame 的擴展版本,該版本添加了對 JFC/Swing 元件架構的支持。 |
| JInternalFrame | 提供很多本機窗體功能的輕量級物件,這些功能包括拖動、關閉、變成圖標、調整大小、標題顯示和支持選單欄。 |
| JInternalFrame.JDesktopIcon | 此元件表示 JInternalFrame 的圖標化版本。 |
| JLabel | 用於短文本字元串或圖像或二者的顯示區。 |
| JLayeredPane | JLayeredPane 為 JFC/Swing 容器添加了深度,允許元件在需要時互相重疊。 |
| JList | 顯示物件列表並且允許使用者選擇一個或多個項的元件。 |
| JList.DropLocation | TransferHandler.DropLocation 的一個子類別,表示 JList 的放置位置 (drop location)。 |
| JMenu | 選單的該實作是一個套件含 JMenuItem 的彈出視窗,使用者選擇 JMenuBar 上的項時會顯示該 JMenuItem。 |
| JMenuBar | 選單欄的實作。 |
| JMenuItem | 選單中的項的實作。 |
| JOptionPane | JOptionPane 有助於方便地彈出要求使用者提供值或向其發出通知的標準對話框。 |
| JPanel | JPanel 是一般輕量級容器。 |
| JPasswordField | JPasswordField 是一個輕量級元件,允許編輯單行文本,其視圖指示鍵入內容,但不顯示原始字元。 |
| JPopupMenu | 彈出選單的實作,彈出選單是一個可彈出並顯示一系列選項的小視窗。 |
| JPopupMenu.Separator | 彈出與選單有關的分隔符。 |
| JProgressBar | 以可視化形式顯示某些任務進度的元件。 |
| JRadioButton | 實作一個單選按鈕,此按鈕項可被選擇或取消選擇,並可為使用者顯示其狀態。 |
| JRadioButtonMenuItem | 一個單選按鈕選單項的實作。 |
| JRootPane | 該輕量級容器由 JFrame、JDialog、JWindow、JApplet 和 JInternalFrame 在後台使用。 |
| JScrollBar | 滾動條的實作。 |
| JScrollPane | 提供輕量級元件的 scrollable 視圖。 |
| JSeparator | JSeparator 為實作分隔線提供了一個通用元件 - 通常用作選單項之間的分隔符,以便將選單項分成幾個邏輯組。 |
| JSlider | 一個讓使用者以圖形方式在有界區間內通過移動滑塊來選擇值的元件。 |
| JSpinner | 讓使用者從一個有序序列中選擇一個數字或者一個物件值的單行輸入欄位。 |
| JSpinner.DateEditor | 其模型為 SpinnerDateModel 的 JSpinner 編輯器。 |
| JSpinner.DefaultEditor | 一個針對非常特殊編輯器的簡單基礎類別,該類別在 JFormattedTextField 中顯示模型的當前值的只讀視圖。 |
| JSpinner.ListEditor | 其模型為 SpinnerListModel 的 JSpinner 編輯器。 |
| JSpinner.NumberEditor | 其模型為 SpinnerNumberModel 的 JSpinner 編輯器。 |
| JSplitPane | JSplitPane 用於分隔兩個(只能兩個)Component。 |
| JTabbedPane | 一個元件,它允許使用者通過單擊具有給定標題和/或圖標的選項卡,在一組元件之間進行切換。 |
| JTable | JTable 用來顯示和編輯常規二維單元表。 |
| JTable.DropLocation | TransferHandler.DropLocation 的一個子類別,表示 JTable 的放置位置 (drop location)。 |
| JTextArea | JTextArea 是一個顯示純文本的多行區域。 |
| JTextField | JTextField 是一個輕量級元件,它允許編輯單行文本。 |
| JTextPane | 可以用以圖形方式表示的屬性來標記的文本元件。 |
| JToggleButton | 具有兩個狀態的(two-state)按鈕的實作。 |
| JToggleButton.ToggleButtonModel | ToggleButton 模型。 |
| JToolBar | JToolBar 提供了一個用來顯示常用的 Action 或控制元件的元件。 |
| JToolBar.Separator | 一個特定於工具欄的分隔符。 |
| JToolTip | 用來顯示 Component 的「提示」。 |
| JTree | 將分層資料集顯示為輪廓的控制元件。 |
| JTree.DropLocation | TransferHandler.DropLocation 的一個子類別,表示 JTree 的放置位置 (drop location)。 |
| JTree.DynamicUtilTreeNode | DynamicUtilTreeNode 可以包裹 vectors/hashtables/arrays/strings 並根據需要創建適當的子階層樹節點。 |
| JTree.EmptySelectionModel | EmptySelectionModel 是一個不允許選擇任何內容的 TreeSelectionModel。 |
| JViewport | 用於查看底層資訊的“視口”或“觀察孔”。 |
| JWindow | JWindow 是一個容器,可以顯示在使用者桌面上的任何位置。 |
| KeyStroke | 表示鍵盤或等效輸入設置上的鍵操作的 KeyStroke。 |
| LayoutFocusTraversalPolicy | 根據 Component 的大小、位置和方向對其排序的 SortingFocusTraversalPolicy。 |
| LayoutStyle | LayoutStyle 提供有關如何確定元件位置的資訊。 |
| LookAndFeel | 顧名思義,LookAndFeel 封裝了一個外觀。 |
| MenuSelectionManager | MenuSelectionManager 擁有選單層次結構中的選項。 |
| OverlayLayout | 要在彼此頂部安排元件的佈局管理器。 |
| Popup | Popup 用於向使用者顯示 Component,它通常位於特定包含層次結構中所有其他 Component 的頂部。 |
| PopupFactory | 顧名思義,PopupFactory 用於獲取 Popup 的實例。 |
| ProgressMonitor | 監視某個操作的進度的類別。 |
| ProgressMonitorInputStream | 監視讀取某些 InputStream 的進度。 |
| RepaintManager | 此類別管理重繪請求,以最大限度地降低重繪次數。 |
| RowFilter<M,I> | RowFilter 用於從模型中過濾條目,使得這些條目不會在視圖中顯示。 |
| RowFilter.Entry<M,I> | 一個傳遞給 RowFilter 實例的 Entry 物件,允許過濾器獲取該條目的資料的值,以確定是否應該顯示該條目。 |
| RowSorter<M> | RowSorter 提供排序和過濾的基礎。 |
| RowSorter.SortKey | SortKey 描述特定列的排序順序。 |
| ScrollPaneLayout | JScrollPane 使用的佈局管理器。 |
| ScrollPaneLayout.UIResource | ScrollPaneLayout 的 UI 資源版本。 |
| SizeRequirements | 為方便佈局管理器,計算元件的有關大小和位置資訊。 |
| SizeSequence | 一個 SizeSequence 物件,它有效地維護一個套件含大小和相應位置的順序列表。 |
| SortingFocusTraversalPolicy | 通過對焦點遍歷循環的 Components 按給定 Comparator 排序確定遍歷順序的 FocusTraversalPolicy。 |
| SpinnerDateModel | Date 序列的一個 SpinnerModel。 |
| SpinnerListModel | 其值由陣列或 List 定義的 SpinnerModel 的簡單實作。 |
| SpinnerNumberModel | 用於數字序列的 SpinnerModel。 |
| Spring | 該 Spring 類別的實例將存儲以下三個表示其行為特徵的屬性:minimum、preferred 和 maximum 值。 |
| SpringLayout | SpringLayout 根據一組約束佈置其相關容器的子元件。 |
| SpringLayout.Constraints | Constraints 物件將管理元件大小和位置更改方式的約束存儲在 SpringLayout 控制的容器中。 |
| SwingUtilities | Swing 實用方法的集合。 |
| SwingWorker<T,V> | 在專用執行緒中執行長時間 GUI 交互任務的抽象類別。 |
| Timer | 在指定時間間隔觸發一個或多個 ActionEvent。 |
| ToolTipManager | 管理系統中的所有 ToolTips。 |
| TransferHandler | 此類別用於處理往返於 Swing 元件的 Transferable 的傳輸。 |
| TransferHandler.DropLocation | 表示放置的資料 (dropped data) 應該插入的位置。 |
| TransferHandler.TransferSupport | 此類別封裝剪貼板或拖放傳輸的所有相關詳細資訊,並且還允許自定義拖放過程的各方面。 |
| UIDefaults | Swing 元件的預設值表。 |
| UIDefaults.LazyInputMap | LazyInputMap 將在其 createValue 方法中創建一個 InputMap。 |
| UIDefaults.ProxyLazyValue | 此類別提供一個可用於延遲載入要創建實例類別的 LazyValue 的實作。 |
| UIManager | UIManager 管理當前外觀、可用外觀集合、外觀更改時被通知的 PropertyChangeListeners、外觀預設值以及獲取各種預設值的便捷方法。 |
| UIManager.LookAndFeelInfo | 為了配置選單或為了初始應用程序設置而提供關於已安裝的 LookAndFeel 的少量資訊。 |
| ViewportLayout | JViewport 的預設佈局管理器。 |
| 列舉摘要 | |
|---|---|
| DropMode | 放置網要,用於確定元件在拖放過程中追蹤和指示放置位置 (drop location) 的方法。 |
| GroupLayout.Alignment | ParallelGroup 能夠對齊其子元素的可能方式的列舉。 |
| JTable.PrintMode | 用於列印 JTable 的列印網要。 |
| LayoutStyle.ComponentPlacement | ComponentPlacement 是兩個元件相對於彼此的可能放置方式的列舉。 |
| RowFilter.ComparisonType | 由某些預設 RowFilter 支持的可能比較值的列舉。 |
| SortOrder | SortOrder 是可能排序順序的列舉。 |
| SwingWorker.StateValue | state 綁定 (bound) 屬性的值。 |
| 異常摘要 | |
|---|---|
| UnsupportedLookAndFeelException | 指示在使用者系統上不存在請求的外觀管理類別的異常。 |
提供一組“輕量級”(全部是 Java 語言)元件,盡量讓這些元件在所有平臺上的工作方式都相同。有關使用這些元件的開發人員指南,請參閱 Creating a GUI with JFC/Swing,該內容在 The Java Tutorial 的結尾處。有關其他參考資料,請參閱相關文檔。
典型的 Swing 應用程序執行處理以回應使用者動作所產生的事件。例如,單擊 JButton 通知所有添加到 JButton 的 ActionListener。由於使用者動作所產生的所有事件都在排程執行緒上指派,所以大部分開發人員不受該限制的影響。
但是,影響存在於建構以及顯示 Swing 的應用程序中。對應用程序的 main 方法或 Applet 中方法的調用不在事件排程執行緒上調用。因此,建構和顯示應用程序或 applet 時,必須注意要將控制元件轉移到事件排程執行緒。轉移控制元件和開始處理 Swing 的首選方法是使用 invokeLater。invokeLater 方法安排 Runnable 在事件排程執行緒上處理。以下兩個範例都同樣很好地用於轉移控制元件和啟動 Swing 應用程序:
public class MyApp implements Runnable {
public void run() {
// Invoked on the event dispatching thread.
// Construct and show GUI.
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new MyApp(args));
}
}
或:
public class MyApp {
MyApp(String[] args) {
// Invoked on the event dispatching thread. Do any initialization
// here.
}
public void show() {
// Show the UI.
}
public static void main(final String[] args) {
// Schedule a job for the event-dispatching thread:
// creating and showing this application's GUI.
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new MyApp(args).show();
}
});
}
}
此限制也適用於連接到 Swing 元件的模型。例如,如果將 TableModel 連接到 JTable,則 TableModel 應該只在事件排程執行緒上進行修改。如果修改單獨執行緒上的模型,就有遭遇異常和可能的顯示損壞的風險。
由於所有事件都是在事件排程執行緒上傳遞的,所以必須注意事件處理。尤其是,在事件排程執行緒上執行的長運行時間任務(如網路 io 或計算密集處理)將阻塞事件排程執行緒排程任何其他執行緒。事件排程執行緒受阻塞時,應用程序對使用者輸入完全沒有反應。有關處理 Swing 時執行這種處理的首選方式,請參閱 SwingWorker。
可以在 Swing tutorial 中,尤其是 How to Use Threads 一節找到關於此主題的更多資訊。
有關概觀、教程、範例、指南和其他文檔的資訊,請參閱:
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個軟體套件 下一個軟體套件 | 框架 無框架 | |||||||||
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。