package com.thinkingblackberry; import net.rim.device.api.system.Display; import net.rim.device.api.ui.Color; import net.rim.device.api.ui.Field; import net.rim.device.api.ui.FieldChangeListener; import net.rim.device.api.ui.Font; import net.rim.device.api.ui.Manager; import net.rim.device.api.ui.MenuItem; import net.rim.device.api.ui.UiApplication; import net.rim.device.api.ui.component.BasicEditField; import net.rim.device.api.ui.component.ButtonField; import net.rim.device.api.ui.component.Dialog; import net.rim.device.api.ui.component.LabelField; import net.rim.device.api.ui.component.Menu; import net.rim.device.api.ui.component.PasswordEditField; import net.rim.device.api.ui.component.SeparatorField; import net.rim.device.api.ui.container.HorizontalFieldManager; import net.rim.device.api.ui.container.MainScreen; public class CustomButtonDemoScreen extends MainScreen implements FieldChangeListener { public CustomButtonDemoScreen() { setTitle("Custom Buttons"); Manager gridFieldManager = new GridFieldManager(3, 0); CustomButtonField[] cbf = new CustomButtonField[5]; cbf[0] = new CustomButtonField("Button 1", Color.BLACK, Color.WHITE, Color.LIGHTYELLOW, Color.YELLOW, Field.FIELD_HCENTER); cbf[1] = new CustomButtonField("Button 2", Color.RED, Color.BLUE, Color.LIGHTGREEN, Color.ORANGE, Field.FIELD_HCENTER); cbf[2] = new CustomButtonField("Button 3", Color.BLUE, Color.WHITE, Color.LIGHTPINK, Color.RED, Field.FIELD_HCENTER); cbf[3] = new CustomButtonField("Button 4", Color.GREEN, Color.RED, Color.LIGHTGREY, Color.GREEN, Field.FIELD_HCENTER); cbf[4] = new CustomButtonField("Button 5", Color.BLACK, Color.WHITE, Color.WHITE, Color.BLACK, Field.FIELD_HCENTER); for(int i = 0; i < cbf.length; i++) { gridFieldManager.add(cbf[i]); cbf[i].setChangeListener(this); } add(gridFieldManager); } public void fieldChanged(Field field, int context) { if (field instanceof CustomButtonField) { Dialog.alert("Button clicked: " + ((CustomButtonField)field).getLabel()); } } protected void makeMenu(Menu menu, int instance) { super.makeMenu(menu, instance); menu.add(new MenuItem("Login", 10, 10) { public void run() { UiApplication.getUiApplication().pushScreen(new AppMainScreen()); } }); } }