webcode 发表于 2013-1-29 22:29:42

IBM实验室对SWT, Swing 和 AWT 的特征比较

Table 1. SWT vs. AWT and Swing Feature comparison
Function/Role/Aspect            AWT            Swing            SWT (style)      Display static text             Label             JLabel             Label, CLabel       Display multi-line static text             Multiple Labels             Multiple JLabels or JLabel with HTML content             Multiple Labels or Label with newlines       Display multi-line formatted static text             Multiple Labels with different fonts             JLabel with HTML content             Multiple Labels with different fonts       Single-line text entry             TextField             JTextField             Text(SWT.SINGLE)       Multi-line text entry             TextArea             JTextArea             Text(SWT.MULTI)       Display an image             N/A             JLabel             Label       Display text and image             N/A             JLabel             CLabel       ToolTip pop-up help             N/A             setToolTip on component, subclass JToolTip             setToolTip on control       Styled text entry             N/A             JEditorPane             StyledText       Select from list of items             List             JList             List       Simple push button with text             Button             JButton             Button(SWT.PUSH)       Simple push button with text and/or image             N/A             JButton             Button(SWT.PUSH)       Drawing area; possibly for custom controls             Canvas             JPanel             Canvas       On/off check box             CheckBox             JCheckBox             Button(SWT.CHECK)       Radio selection             CheckBoxGroup             ButtonGroup and menus             Group and Menu       Select from a drop-down list             Choice             JComboBox             Combo, CCombo       Enter text or select from a drop-down list             N/A             JComboBox             Combo, CCombo       Scrollable area             ScrollPane             JScrollPane             Create Scrollable subclass       Top level windows             Dialog, Frame, Window             JDialog, JFrame, JWindow             Shell with different styles       Generic window             Window             JWindow             Shell       Frame window             Frame             JFrame             Shell(SWT.SHELL_TRIM)       Dialog window             Dialog             JDialog             Shell(SWT.DIALOG_TRIM)       Menu             Menu             JMenu             Menu       MenuItem             MenuItem             JMenuItem             MenuItem       Menu shortcuts             Generic keystrokes             same as AWT             host dependent mnemonics and accelerators       Pop-up menu             PopupMenu             JPopupMenu             Menu(SWT.POPUP)       Menu bars             MenuBar             JMenuBar             Menu(SWT.BAR)       Display an insertion caret             N/A             Caret             Caret       Web browser             N/A             JTextPane (HTML 3.2)             Browser (via embedded browser)       Embed control in web page             Applet             JApplet             Host control (ex. OLE)       Generic container of other controls             Panel             JPanel             Composite       Generic container of other controls with a border             Panel (if drawn manually)             JPanel with a Border             Composite(SWT.BORDER)       Generic container of other controls with a border and title             N/A             JPanel with a TitledBorder             Group       Radio button (one of set on)             Checkbox             JRadioButton             Button(SWT.RADIO)       Control extent of radio buttons             CheckboxGroup             RadioButtonGroup             Group       Arrow buttons             N/A             JButton with image             Button(SWT.ARROW)       Supports int'l text orientations             via ComponentOrientation             same as AWT             Many components support styles for this       Focus Traversal             Policy and Manager objects             same as AWT             Next on control       Custom dialogs             Dialog subclass             JDialog subclass             Dialog subclass       Access to system events             EventQueue services             same as AWT             Display services (less robust than AWT)       System access dialogs             FileDialog             JColorChooser, JFileChooser             ColorDialog, DirectoryDialog, FileDialog, FontDialog, PrintDialog       Display simple message dialog             N/A (must subclass Dialog)             JOptionPane static methods             MessageBox with numerous styles       Display simple prompting dialog             N/A (must subclass Dialog)             JOptionPane static methods             N/A (classes exist in JFace to do this)       Layout managers             BorderLayout, CardLayout, FlowLayout, GridLayout, GridBagLayout             AWT plus BoxLayout, CenterLayout, SpringLayout             FillLayout, FormLayout, GridLayout, RowLayout, StackLayout       Basic drawing control             Canvas             JPanel             Canvas       Basic drawing             Graphics and Graphics2D objects - Basic shapes and text, arbitrary Shapes and Strokes, Bezier, fills, etc.             same as AWT             GC object - Basic shapes and text       Drawing transforms             Affine, composites             same as AWT             N/A       Off screen drawing             BufferedImage, drawImage             same as AWT             Image, drawImage       Double buffering             Manual             Automatic or manual             Manual unless provided by host control       Printing             PrintJob and PrintGraphics             same as AWT             draw to Printer device       Custom colors             Color             same as AWT             Color       Custom fonts             Font, FontMetrics             same as AWT             Font       Cursors selection             Cursor             same as AWT             Cursor       Image features             load from file, create dynamically, extensive edits             same as AWT             load from file, create dynamically, basic edits       Input automation             Robot             same as AWT             N/A       Display a tool bar             N/A             JToolBar             ToolBar, CoolBar       Display a progress bar             N/A             JProgressBar             ProgressBar       Divide space between areas             N/A             JSplitPane             Sash or SashForm       Display tabbed areas             N/A             JTabbedPane             TabFolder, CTabFolder       Display tabular info             N/A             JTable             Table       Format table columns             N/A             TableColumn             TableColumn       Display hierarchical info             N/A             JTree             Tree       Select from range of values            N/A            JSlider            Slider      Select from discrete range of values            N/A            JSpinner            Scale      Access to the base display            Toolkit, GraphicsConfiguration, GraphicsDevice            same as AWT            Display      Add items to the system tray            N/A            N/A            Tray      Key: N/A - Not available. In many cases, this feature can be created, with varying degrees of difficulty, by creating custom controls or containers of controls or by other custom programming.      作者最后得出的结论是如果你只开发用于某一特性平台(当然,只能是主流平台),SWT就有优势了,它可以集成这些平台的特有的功能。例如在Windows下使用ActiveX控件。
页: [1]
查看完整版本: IBM实验室对SWT, Swing 和 AWT 的特征比较