功能/角色/外表 |
AWT |
Swing |
SWT(風(fēng)格) |
顯示靜態(tài)文本 |
Label |
JLabel |
Label, CLabel |
顯示多行靜態(tài)文本 |
Multiple Labels |
具有 HTML 內(nèi)容的 Multiple JLabels 或 JLabel |
具有新行的 Multiple Labels 或 Label |
顯示多行格式化靜態(tài)文本 |
具有不同字體的 Multiple Labels |
具有 HTML 內(nèi)容的 JLabel |
具有不同字體的 Multiple Labels |
單行文本輸入 |
TextField |
JTextField |
Text(SWT.SINGLE) |
多行文本輸入 |
TextArea |
JTextArea |
Text(SWT.MULTI) |
顯示圖像 |
N/A |
JLabel |
Label |
顯示文本和圖像 |
N/A |
JLabel |
CLabel |
提示彈出幫助 |
N/A |
組件的 setToolTip,JToolTip 子類 |
控件的 setToolTip |
風(fēng)格化的文本輸入 |
N/A |
JEditorPane |
StyledText |
從條目列表中進(jìn)行選擇 |
List |
JList |
List |
簡單按下具有文本的按鈕 |
Button |
JButton |
Button(SWT.PUSH) |
簡單按下具有文本或圖像的按鈕 |
N/A |
JButton |
Button(SWT.PUSH) |
繪圖區(qū)域;可能用于定制控件 |
Canvas |
JPanel |
Canvas |
選中/取消復(fù)選框 |
CheckBox |
JCheckBox |
Button(SWT.CHECK) |
單選按鈕選擇 |
CheckBoxGroup |
ButtonGroup 和 Menu |
Group 和 Menu |
從一個下拉列表中選擇 |
Choice |
JComboBox |
Combo、CCombo |
輸入文本或從下拉列表中選擇 |
N/A |
JComboBox |
Combo、CCombo |
可滾動區(qū)域 |
ScrollPane |
JScrollPane |
創(chuàng)建 Scrollable 子類 |
頂層窗口 |
Dialog、Frame、Window |
JDialog、JFrame、JWindow |
具有不同風(fēng)格的 Shell |
通用窗口 |
Window |
JWindow |
Shell |
框架窗口 |
Frame |
JFrame |
Shell(SWT.SHELL_TRIM) |
對話框窗口 |
Dialog |
JDialog |
Shell(SWT.DIALOG_TRIM) |
菜單 |
Menu |
JMenu |
Menu |
MenuItem |
MenuItem |
JMenuItem |
MenuItem |
菜單快捷鍵 |
通用擊鍵 |
與 AWT 相同 |
依賴于主機(jī)的快捷鍵 |
彈出菜單 |
PopupMenu |
JPopupMenu |
Menu(SWT.POPUP) |
菜單條 |
MenuBar |
JMenuBar |
Menu(SWT.BAR) |
顯示插入符號 |
N/A |
Caret |
Caret |
Web 瀏覽器 |
N/A |
JTextPane(HTML 3.2) |
Browser(通過嵌入式瀏覽器) |
Web 頁面中的嵌入式控件 |
Applet |
JApplet |
主機(jī)控件(例如 OLE) |
其他控件的通用容器 |
Panel |
JPanel |
Composite |
其他控件的有邊界通用容器 |
Panel(如果是手工畫的) |
具有 Border 的 JPanel |
Composite(SWT.BORDER) |
其他控件的有邊界和標(biāo)題的通用容器 |
N/A |
具有 TitledBorder 的 JPanel |
Group |
單選按鈕(一個被選中) |
Checkbox |
JRadioButton |
Button(SWT.RADIO) |
單選按鈕的控件擴(kuò)充 |
CheckboxGroup |
RadioButtonGroup |
Group |
箭頭按鈕 |
N/A |
具有圖像的 JButton |
Button(SWT.ARROW) |
支持文本顯示方向 |
通過 ComponentOrientation |
與 AWT 相同 |
很多組件都可以支持這種風(fēng)格 |
焦點切換 |
Policy 和 Manager 對象 |
與 AWT 相同 |
下一個控件 |
定制對話框 |
Dialog 子類 |
JDialog 子類 |
Dialog 子類 |
訪問系統(tǒng)事件 |
EventQueue 服務(wù) |
與 AWT 相同 |
Display 服務(wù)(不如 AWT 健壯) |
系統(tǒng)訪問對話框 |
FileDialog |
JColorChooser、JFileChooser |
ColorDialog、DirectoryDialog、FileDialog、FontDialog、PrintDialog |
顯示簡單消息對話框 |
N/A(必須是 Dialog 子類) |
JOptionPane 靜態(tài)方法 |
具有很多風(fēng)格的 MessageBox |
顯示簡單提示對話框 |
N/A(必須是 Dialog 子類) |
JOptionPane 靜態(tài)方法 |
N/A(JFace 中用來實現(xiàn)這種功能的子類) |
布局管理器 |
BorderLayout、CardLayout、FlowLayout、GridLayout、GridBagLayout |
AWT 加上 BoxLayout、CenterLayout、SpringLayout |
FillLayout、FormLayout、GridLayout、RowLayout、StackLayout |
基本的繪圖控件 |
Canvas |
JPanel |
Canvas |
基本繪圖 |
Graphics 和 Graphics2D 對象 —— 基本形狀和文本,任意 Shapes 和 Strokes、Bezier 以及文件 |
與 AWT 相同 |
GC 對象 —— 基本形狀和文本 |
繪圖轉(zhuǎn)換 |
Affine,合成 |
與 AWT 相同 |
N/A |
離屏繪圖(Off screen drawing) |
BufferedImage、drawImage |
與 AWT 相同 |
Image、drawImage |
雙緩沖區(qū) |
手工 |
自動或手工 |
除非由主機(jī)控件提供,否則就是手工 |
打印 |
PrintJob 和 PrintGraphics |
與 AWT 相同 |
向 Printer 設(shè)備繪圖 |
定制顏色 |
Color |
與 AWT 相同 |
Color |
定制字體 |
Font、FontMetrics |
與 AWT 相同 |
Font |
光標(biāo)選擇 |
Cursor |
與 AWT 相同 |
Cursor |
圖像特性 |
從文件中加載,動態(tài)創(chuàng)建,可擴(kuò)充地編輯 |
與 AWT 相同 |
從文件中加載,動態(tài)創(chuàng)建,基本編輯 |
輸入自動化 |
Robot |
與 AWT 相同 |
N/A |
顯示工具條 |
N/A |
JToolBar |
ToolBar、CoolBar |
顯示進(jìn)度條 |
N/A |
JProgressBar |
ProgressBar |
將空間劃分成區(qū)域 |
N/A |
JSplitPane |
Sash 或 SashForm |
顯示一個分標(biāo)簽頁的區(qū)域 |
N/A |
JTabbedPane |
TabFolder、CTabFolder |
顯示制表信息 |
N/A |
JTable |
Table |
格式化表的列 |
N/A |
TableColumn |
TableColumn |
顯示層次化信息 |
N/A |
JTree |
Tree |
從一定范圍的值中進(jìn)行選擇 |
N/A |
JSlider |
Slider |
從一組離散范圍的值中進(jìn)行選擇 |
N/A |
JSpinner |
Scale |
對于基本顯示的訪問 |
Toolkit、GraphicsConfiguration、GraphicsDevice |
與 AWT 相同 |
Display |
將條目添加到系統(tǒng)托盤(system tray)中 |
N/A |
N/A |
Tray |
關(guān)鍵:N/A —— 不適用。在很多情況中,這種特性都可以通過創(chuàng)建定制控件或控件容器或利用其他定制編程來實現(xiàn),不過實現(xiàn)的難度會有所不同。 |