yes-no 发表于 2015-10-5 12:20:46

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控件。


Trackback: http://tb.blog.iyunv.com/TrackBack.aspx?PostId=610935
页: [1]
查看完整版本: IBM实验室对SWT, Swing 和 AWT 的特征比较