Java Core Technologies

Java Core Technologies

Extreme Java G22.3033-007 Session 3 - Sub-Topic 1 Swing Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences Java Core Technologies Q JFC Swing 1 What is Swing? Q A GUI toolkit that simplifies and streamlines the development of windowing components (e.g., menus, toolbars, etc.) Q Pluggable look-and-feel design (PL&F) Q Platform specific look and feel with platform independent software Q Swing components never rely on peer code Q Lightweight components Swing and AWT Q Swing extends - but does not replace - the Abstract Windowing Toolkit (AWT) Q AWT is a set of OO GUI classes Q Swing extends the Lightweight UI Framework that became part of the Java AWT with the introduction of JDK 1.1 2 Swing is 100% Pure Java and Swing Beans Q Components are 100% pure Java versions of AWT components (e.g., Button, Scrollbar, List, etc.) Q Swing also include new higher-level components written in pure Java (e.g., tree- view, list-box, tabbed-pane components) Q Swing is compatible with the JavaBeans specification Swing and the JFC Library Q The JCF Library includes the Swing component set Q JFC also contains three major APIs: Q Java 2D Q advanced 2D graphics and imaging Q Drag and Drop Q data transfer across Java and native applications, and within a single Java application Q Accessibility API Q e.g., screen magnifiers, and audible text readers 3 Swing Architecture Differences between AWT and Swing Q Swing does not use any platform-specific implementations (such as AWT’s “peers”) Q Swing creates its components using pluggable look-and-feel (PL&F or plaf) Q Swing automatically plugs in the L&F module that matches its platform Q Other L&F modules can also run in a given GUI 4 Differences between AWT and Swing (continued) • L&F can be changed dynamically at runtime • The 3 other JFC APIs can be used in Swing programs in a 1.2/1.3 environment (real integration is planned for a future release) The Three Parts of Swing Q New set of components inheriting from JComponent Q Jcomponent is a descendent form AWT’s Container class Q Jcomponent is the root class of almost all Swing Component classes Q Hierarchy allows Swing components to contain other components (component nesting) 5 The Three Parts of Swing (continued) Q Group of Swing-related support classes Q Vital services to the Swing API Q Not used to create visible Swing components Q New set of Swing-related interfaces implemented by Swing component classes and support classes Swing & IFC Q Best features of AWT and Netscape’s IFC (Internet Foundation Class) library are being integrated Q Some similarity in the default look and feel of Swing and IFC widgets Q Similarities are disappearing since L&Fs give Swing components different looks and feels in different implementations 6 Swing Component Gallery JApplet - Border Interface - JButton - JCheckBox - JCheckBoxMenuItem JColorChooser - JComboBox - ImageIcon - Jdialog - JFileChooser JInternalFrame - Jlabel - JList - JMenu - JMenuBar - JOptionPane Swing Component Gallery (cont.) JPopupMenu - JProgessBar - JRadioButton - JRadioMenuItem - JScrollBar JScrollPane - Jslider - JSplitPane - JTabbedPane - JTable JTextArea - JTextField - JToggleButton - JToolBar - JToolTip - JTree 7 Swing’s Inheritance Hierarchy Swing Component Hierarchy Q More than 250 classes Q More than 75 interfaces for creating lightweight, 100% pure Java GUI components Q More than twice as many components as AWT 8 UI classes and non-UI classes Q All UI-Swing component classes start with “J” and descend from JComponent Q UI classes create visible components (e.g., buttons, menus, etc.) Q Examples of non-UI classes Q events classes, and model classes Differences Between AWT & Swing 9 Differences Between AWT & Swing Q In AWT: CheckBox served as a check-box class and a radio-button class Q In Swing all buttons have three states (pressed, enabled, and selected) Q It is easier to synchronize and coordinate menu events and button events in Swing (a single mouse click can activate or desactivate both a menu item and its toolbar button) JComponent Class 10 Roots in MVC New AWT/Swing Capabilities (J2SE 1.4) Q AWT improvements Q Mouse wheel support Q High-perf. graphics to directly draw on the screen Q Similar to DirectX (Windows) or Sun OpenGL (Solaris) Q Swing Q New formatted input components Q JFormatterTextField, JSpinner Q Seamless drag-and-drop support Q Printing API Q New Image I/O framework providing a pluggable architecture to load/save images 11.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    11 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us