You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

GUIFramework (GFW) is the basic module for developing Swing GUIs at SLAC.

Requirements TO-DO

Developer's Guide

Abstract

This guide describes in detail how to use GFW in a Swing application. In general, you create your own Swing components (either programmatically, or with a GUI builder) and add them to the appropriate GFW frame.

Overview

We recommend the following steps:

  1. #Check out GFW from CVS into Eclipse.
  2. #Read and run the example code.
  3. #Create custom components for the desired GFW frame
  4. #Write code that adds custom components to GFW.
  5. #Add event listeners to the appropriate widgets.
  6. #Test the application.
  7. #Optional features.

Check out GFW from CVS into Eclipse

GFW is located in $CVSROOT/physics/GUIFramework

Read and run the example code

An example can be found in the class edu.stanford.slac.gfw.example.GfwExample
When running the example, please observe

  • the different GFW frames
  • the various areas in which the custom components end up
  • how the GUI behaves when it is resized

Create custom components for the desired GFW frame

For a quick development (e.g. GUI mock ups), we recommend the Netbeans GUI Builder.

Write code that adds custom components to GFW

  1. Instantiate the custom components.
  2. Create an appropriate GFW frame and an instance of BasicFrameController
    final BasicFrame myFrame = new BasicFrame("My Frame"); //'final', because it's used later in an anonymous class
    BasicFrameController bfc = new BasicFrameController(myFrame);
    
  3. Using the BasicFrameController instance, add custom components to GFW frame
  • Title Bar
    bfc.addToTitleBar(myComponent);
    
  • Tab 1
    bfc.addTopTab1(myComponent);
    
  • Tab 2
    bfc.addTopTab2(myComponent);
    
  • New Tab
    bfc.addTopTab(myComponent, "My Label");
    
  • New Tab
    * bfc.addToBottomScrollPane(myComponent);
    
  1. Display the GFW frame
    SwingUtilities.invokeLater(new Runnable() {
    			public void run() {
    				myFrame.setVisible(true);
    			}
    		});
    

Add event listeners to the appropriate widgets

Test the application

Optional features

  • No labels