Archive

Archive for the ‘Apache Pivot User Interface Components’ Category

Apache Pivot Label

October 29, 2011 Leave a comment

//Create a new Apache Pivot Label
Label label = new Label();

//Set the Font:
label.getStyles().put(“font”, new Font(“Verdana”, Font.BOLD, 24);

//Set Text Color
label.getStyles().put(“color”, Color.WHITE);

//Set Horizontal Alignment of the Text within the Label.
//Options include: LEFT, RIGHT, CENTER

label.getStyles().put(“horizontalAlignment”, HorizontalAlignment.CENTER);

//Set Vertical Alignment of the Text within the Label.
//Options include: TOP, BOTTOM, CENTER

label.getStyles().put(“verticalAlignment”, VerticalAlignment.CENTER);

//Set the Background color
label.getStyles().put(“backgroundColor”, Color.RED);

//Set the Padding on all four sides (top, right, bottom, left) to 
//
same number of pixels. In next line = 10 pixels.
label.getStyles().put(“padding”, 10);

//Set the Padding on each side specifically:
label.getStyles().put(“padding”, “{top:5, left:15, bottom:25, right:35}”);

For example:

Apache Pivot Label Example

Apache Pivot Label Example

Labels.java

package samples.labels;

import java.awt.Color;
import java.awt.Font;

import org.apache.pivot.collections.Map;
import org.apache.pivot.wtk.*;

public class Labels implements Application {

    //************************
    //Attributes
    //************************

    /*
     * This the most basic means by which content may be
     * placed on the screen. It simply provides a blank  
     * canvas in which other components may be placed.
     * In our example, we add the BoxPane to the window.  
     */
    private Window window;

    /*
     * Box panes are used to arrange components. Components
     * added to box panes can be horizontal or vertically
     * stacked.
     */
    private BoxPane boxPane;

    //************************
    //Constructors
    //************************

    /**
     * Instantiate our window and box pane
     * in the default constructor.
     */
    public Labels()
    {
        window = new Window();
        boxPane = new BoxPane();
    }

    //************************
    //Methods
    //************************

    /**
     * The Application interface requires program
     * to override four methods:
     * suspend, resume, startup, shutdown.
     *  
     * An interface can be thought of as a contract.
     * The Application interface promises to perform
     * these services if your program adheres to
     * the requirements.
     *
     * For example, when this program implements
     * the Application interface, it expects to find
     * these four methods. And you code within these
     * methods will be executed.
     */
    @Override
    public void resume() throws Exception
    {
        // TODO Auto-generated method stub

    }

    @Override
    public boolean shutdown(boolean arg0) throws Exception
    {
        // TODO Auto-generated method stub
        return false;
    }

    @Override
    public void startup(Display display, Map<String, String> map)
           throws Exception
    {
        //Build the Display.
        buildDisplay(display);

        //Show window.
        window.open(display);

    }

    @Override
    public void suspend() throws Exception {
        // TODO Auto-generated method stub

    }

    private void buildDisplay(Display display)
    {
        //Set boxPane to center of screen. Apply a background color,
        //Then set a vertical orientation (so labels stack).
        boxPane.getStyles().put("verticalAlignment", "CENTER");
        boxPane.getStyles().put("horizontalAlignment", "CENTER");
        boxPane.getStyles().put("backgroundColor", new Color(237,217,185));
        boxPane.setOrientation(Orientation.VERTICAL);

        //Create a label using 1-argument constructor
        Label helloLabel = new Label("Hello World!");

        //Set label font.
        helloLabel.getStyles().put("font", new Font("Verdana", Font.PLAIN, 16));

        //Set label font color.
        helloLabel.getStyles().put("color", new Color(134, 107, 64));

        //Add the Label to the BoxPane Layout.
        boxPane.add(helloLabel);

        //you can also use the default constructor.
        Label goodByeLabel = new Label();
        goodByeLabel.setText("Good bye!");
        goodByeLabel.getStyles().put("font", new Font("Times", Font.BOLD, 24));
        goodByeLabel.getStyles().put("color", Color.BLACK);
        boxPane.add(goodByeLabel);

        //Add the BoxPane to the window for display.
        window.setContent(boxPane);
        window.setTitle("Hello World!");
        window.setMaximized(true);
    }
}

Driver.java

package samples.labels;

import org.apache.pivot.wtk.DesktopApplicationContext;

public class Driver {

	//Entry point into all java applications.
	public static void main(String[] args) throws Exception
	{
		/**
		 * Load the pivot application into our Java program.
		 */
		DesktopApplicationContext.main(Labels.class, args); 

	}
}