You are on page 1of 57

BlackBerry Java SDK

UI Component Versin: 6.0


Gua de referencia rpida

Publicado: 2011-03-07 SWD-1203961-0307101032-005

Contenido
1 Campos de texto............................................................................................................................................... Etiqueta............................................................................................................................................................. Campo de texto de slo lectura........................................................................................................................ Campo de texto editable.................................................................................................................................. Campo de contrasea....................................................................................................................................... Campo de direccin de correo.......................................................................................................................... Campo de bsqueda......................................................................................................................................... Campos de texto con la funcin Autocompletar.............................................................................................. Campo de edicin de texto automtico............................................................................................................ Campo de edicin de texto automtico activo................................................................................................. 2 Campos de seleccin........................................................................................................................................ Casilla de verificacin........................................................................................................................................ Lista desplegable basada en texto.................................................................................................................... Lista desplegable numrica.............................................................................................................................. Campo de fecha................................................................................................................................................ Colector de fechas............................................................................................................................................ Colector de archivos......................................................................................................................................... Casilla de seleccin numrica........................................................................................................................... Colector de ubicacin....................................................................................................................................... Campo de rbol................................................................................................................................................. 3 Botones............................................................................................................................................................. Botn de opcin................................................................................................................................................ Barra de herramientas...................................................................................................................................... Botn................................................................................................................................................................ 4 Campos de actividad......................................................................................................................................... Campo de evaluacin........................................................................................................................................ Indicador de actividad...................................................................................................................................... Indicador de progreso....................................................................................................................................... 5 Campos de imagen........................................................................................................................................... Campo de mapa de bits.................................................................................................................................... Campo de desplazamiento de imgenes.......................................................................................................... 6 Listas y tablas.................................................................................................................................................... Lista sencilla...................................................................................................................................................... 3 3 4 5 7 8 9 11 13 14 16 16 17 18 19 20 21 22 24 27 29 29 30 32 34 34 35 36 38 38 39 41 41

Lista enriquecida............................................................................................................................................... Tabla................................................................................................................................................................. 7 Otros componentes.......................................................................................................................................... Campo de navegador........................................................................................................................................ Barra de ttulo................................................................................................................................................... Campo de mapa................................................................................................................................................ 8 Comentarios..................................................................................................................................................... 9 Historial de revisin del documento................................................................................................................. 10 Aviso legal.........................................................................................................................................................

42 43 47 47 48 49 51 52 53

Gua de referencia rpida

Campos de texto

Campos de texto
Etiqueta
Utilice una etiqueta para identificar un componente de interfaz de usuario para el usuario de un dispositivo BlackBerry. Clase Compatible desde Ejemplo LabelField BlackBerry Java SDK 4.0

Para obtener ms informacin acerca de las etiquetas, consulte las Directrices sobre IU.

Ejemplo de cdigo: crear una etiqueta


import net.rim.device.api.ui.UiApplication; import net.rim.device.api.ui.container.MainScreen; import net.rim.device.api.ui.component.LabelField; public class LabelFieldDemo extends UiApplication { public static void main(String[] args) { LabelFieldDemo theApp = new LabelFieldDemo(); theApp.enterEventDispatcher(); } public LabelFieldDemo() { pushScreen(new LabelFieldDemoScreen()); } } class LabelFieldDemoScreen extends MainScreen { public LabelFieldDemoScreen() { LabelField title = new LabelField("Label Field Demo", LabelField.ELLIPSIS | LabelField.USE_ALL_WIDTH); setTitle(title);

Gua de referencia rpida

Campo de texto de slo lectura

LabelField labelField1 = new LabelField("Right-aligned label field", LabelField.FIELD_RIGHT); LabelField labelField2 = new LabelField("Centered label field", LabelField.FIELD_HCENTER | LabelField.FOCUSABLE); LabelField labelField3 = new LabelField("Left-aligned label field", LabelField.FIELD_LEFT); add(labelField1); add(labelField2); add(labelField3); }

Campo de texto de slo lectura


Utilice un campo de texto de slo lectura para mostrar texto de slo lectura al que se pueda dar formato. Clase Compatible desde Ejemplo RichTextField BlackBerry Java SDK 4.0

Para obtener ms informacin acerca de los campos de texto de slo lectura, consulte las Directrices sobre IU.

Ejemplo de cdigo: crear un campo de texto de slo lectura


import net.rim.device.api.ui.UiApplication; import net.rim.device.api.ui.container.MainScreen; import net.rim.device.api.ui.component.RichTextField; import net.rim.device.api.ui.Font; import net.rim.device.api.ui.FontFamily; import net.rim.device.api.ui.component.Dialog; public class RichTextFieldDemo extends UiApplication { public static void main(String[] args) { RichTextFieldDemo theApp = new RichTextFieldDemo(); theApp.enterEventDispatcher(); } public RichTextFieldDemo()

Gua de referencia rpida

Campo de texto editable

{ }

pushScreen(new RichTextFieldDemoScreen());

} class RichTextFieldDemoScreen extends MainScreen { Font myFont1, myFont2, myFont3; public RichTextFieldDemoScreen() { RichTextField title = new RichTextField("Read-only Text Field Demo"); setTitle(title); RichTextField rtf1 = new RichTextField("Right-aligned plain", RichTextField.TEXT_ALIGN_RIGHT); RichTextField rtf2 = new RichTextField("Centered extra bold", RichTextField.TEXT_ALIGN_HCENTER); RichTextField rtf3 = new RichTextField("Left-aligned italic", RichTextField.TEXT_ALIGN_LEFT); try { FontFamily ff1 = FontFamily.forName("Times New Roman"); myFont1 = ff1.getFont(Font.PLAIN, 18); FontFamily ff2 = FontFamily.forName("Courier New"); myFont2 = ff2.getFont(Font.EXTRA_BOLD, 24); FontFamily ff3 = FontFamily.forName("Verdana"); myFont3 = ff3.getFont(Font.ITALIC, 24); } catch(final ClassNotFoundException cnfe) { UiApplication.getUiApplication().invokeLater(new Runnable() { public void run() { Dialog.alert("FontFamily.forName() threw " + cnfe.toString()); } }); } rtf1.setFont(myFont1); rtf2.setFont(myFont2); rtf3.setFont(myFont3); add(rtf1); add(rtf2); add(rtf3); } }

Campo de texto editable


Utilice un campo de texto editable para permitir que los usuarios del dispositivo BlackBerry puedan introducir texto en un campo. Puede aplicar filtros para restringir los caracteres que los usuarios pueden introducir en el campo de texto. Clase BasicEditField

Gua de referencia rpida

Campo de texto editable

Compatible desde Ejemplo

BlackBerry Java SDK 3.7

Para obtener ms informacin acerca de los campos de texto editable, consulte las Directrices sobre IU.

Ejemplo de cdigo: crear un campo de texto editable


import net.rim.device.api.ui.UiApplication; import net.rim.device.api.ui.container.MainScreen; import net.rim.device.api.ui.component.BasicEditField; public class BasicEditFieldDemo extends UiApplication { public static void main(String[] args) { BasicEditFieldDemo theApp = new BasicEditFieldDemo(); theApp.enterEventDispatcher(); } public BasicEditFieldDemo() { pushScreen(new BasicEditFieldDemoScreen()); } } class BasicEditFieldDemoScreen extends MainScreen { public BasicEditFieldDemoScreen() { setTitle("Editable Text Field Demo"); BasicEditField enterName = new BasicEditField("Your name: ", ""); BasicEditField enterPhone = new BasicEditField("Work number: ", "", 50, BasicEditField.FILTER_PHONE); add(enterName); add(enterPhone); } }

Gua de referencia rpida

Campo de contrasea

Campo de contrasea
Utilice un campo de contrasea cuando se solicite a los usuarios del dispositivo BlackBerry que introduzcan una contrasea. Puede aplicar filtros para restringir los caracteres que los usuarios pueden introducir en este campo. De forma predeterminada, el campo de contrasea admite todos los caracteres. Clase Compatible desde Ejemplo PasswordEditField BlackBerry Java SDK 4.2.1

Para obtener ms informacin acerca de los campos de contrasea, consulte las Directrices sobre IU.

Ejemplo de cdigo: crear un campo de contrasea


import net.rim.device.api.ui.UiApplication; import net.rim.device.api.ui.container.MainScreen; import net.rim.device.api.ui.component.BasicEditField; import net.rim.device.api.ui.component.PasswordEditField; public class PasswordEditFieldDemo extends UiApplication { public static void main(String[] args) { PasswordEditFieldDemo theApp = new PasswordEditFieldDemo(); theApp.enterEventDispatcher(); } public PasswordEditFieldDemo() { pushScreen(new PasswordEditFieldDemoScreen()); } } class PasswordEditFieldDemoScreen extends MainScreen { public PasswordEditFieldDemoScreen() { setTitle("Password Field Demo"); BasicEditField enterUsername = new BasicEditField("Username: ", ""); PasswordEditField enterPIN = new PasswordEditField("PIN: ", "", 4, PasswordEditField.FILTER_NUMERIC); 7

Gua de referencia rpida

Campo de direccin de correo

add(enterUsername); add(enterPIN);

Campo de direccin de correo


Utilice un campo de direccin de correo cuando se solicite a los usuarios del dispositivo BlackBerry que introduzcan una direccin de correo. Este campo slo admite aquellos caracteres vlidos en direcciones de correo. El primer espacio que un usuario introduce se sustituye automticamente por una arroba (@) y cualquier espacio adicional se sustituye por puntos (.). Clase Compatible desde Ejemplo EmailAddressEditField BlackBerry Java SDK 4.0

Para obtener ms informacin acerca de los campos de direccin de correo electrnico, consulte las Directrices sobre IU.

Ejemplo de cdigo: crear un campo de direccin de correo


import net.rim.device.api.ui.UiApplication; import net.rim.device.api.ui.container.MainScreen; import net.rim.device.api.ui.component.EmailAddressEditField; public class EmailAddressEditFieldDemo extends UiApplication { public static void main(String[] args) { EmailAddressEditFieldDemo theApp = new EmailAddressEditFieldDemo(); theApp.enterEventDispatcher(); } public EmailAddressEditFieldDemo() { pushScreen(new EmailAddressEditFieldDemoScreen()); } }

Gua de referencia rpida

Campo de bsqueda

class EmailAddressEditFieldDemoScreen extends MainScreen { public EmailAddressEditFieldDemoScreen() { setTitle("Email Address Field Demo"); EmailAddressEditField enterEmail = new EmailAddressEditField("Email address: ", ""); add(enterEmail); } }

Campo de bsqueda
Utilice un campo de bsqueda para permitir que los usuarios del dispositivo BlackBerry puedan filtrar una lista de palabras que coincidan con los caracteres que introduzcan en el campo. Los usuarios pueden seleccionar una de las coincidencias que se presentan, o bien continuar introduciendo texto para restringir an ms las opciones disponibles. Al crear un campo de bsqueda, debe especificar una lista de origen. La lista de origen suministra las cadenas para la comparacin, que pueden ser no modificables o bien derivadas de fuentes de datos de un dispositivo BlackBerry como, por ejemplo, los contactos, las notas y las tareas. Clase Compatible desde Ejemplo KeywordFilterField BlackBerry Java SDK 4.5

Para obtener ms informacin acerca de los campos de bsqueda, consulte las Directrices sobre IU.

Ejemplo de cdigo: crear un campo de bsqueda


import import import import import import import import net.rim.device.api.ui.container.MainScreen; net.rim.device.api.collection.ReadableList; net.rim.device.api.util.Comparator; java.util.*; net.rim.device.api.collection.util.*; net.rim.device.api.util.StringUtilities; net.rim.device.api.ui.*; net.rim.device.api.ui.component.*;

Gua de referencia rpida

Campo de bsqueda

public class SearchFieldDemo extends UiApplication { KeywordFilterField _keywordFilterField; CountryList _countryList; public static void main(String args[]) { SearchFieldDemo theApp = new SearchFieldDemo(); theApp.enterEventDispatcher(); } public SearchFieldDemo() { _countryList = new CountryList(); _countryList.addElement(new Country("Zimbabwe")); _countryList.addElement(new Country("Argentina")); _countryList.addElement(new Country("Brazil")); _countryList.addElement(new Country("Canada")); _countryList.addElement(new Country("Chile")); _countryList.addElement(new Country("China")); _countryList.addElement(new Country("Germany")); _keywordFilterField = new KeywordFilterField(); _keywordFilterField.setLabel(""); _keywordFilterField.setSourceList(_countryList, _countryList); SearchFieldDemoScreen screen = new SearchFieldDemoScreen(); screen.setTitle(_keywordFilterField.getKeywordField()); screen.add(_keywordFilterField); screen.addMenuItem(addElementItem); pushScreen(screen); } void addElementToList(Country country) { _countryList.addElement(country); _keywordFilterField.updateList(); } private final MenuItem addElementItem = new MenuItem("Add country", 0, 0) { public void run() { _keywordFilterField.setKeyword(""); String[] selections = {"Add","Cancel"}; Dialog addDialog = new Dialog("Add Country", selections, null, 0, null); EditField inputField = new EditField("Country: ",""); addDialog.add(inputField); if(addDialog.doModal() == 0) { addElementToList(new Country(inputField.getText())); } }

}; } class SearchFieldDemoScreen extends MainScreen { public SearchFieldDemoScreen(){}; } class CountryList extends SortedReadableList implements KeywordProvider {

10

Gua de referencia rpida

Campos de texto con la funcin Autocompletar

} class Country { private String _countryName; public Country(String countryName) { _countryName = countryName; } public String toString() { return _countryName; } }

public CountryList() { super(new CountryListComparator()); } void addElement(Object element) { doAdd(element); } public String[] getKeywords(Object element) { if(element instanceof Country) { return StringUtilities.stringToWords(element.toString()); } return null; } final static class CountryListComparator implements Comparator { public int compare(Object o1, Object o2) { if (o1 == null || o2 == null) throw new IllegalArgumentException("Cannot compare null countries"); return o1.toString().compareTo(o2.toString()); } }

Campos de texto con la funcin Autocompletar


Utilice un campo de texto con la funcin Autocompletar para permitir que los usuarios del dispositivo BlackBerry puedan seleccionar una opcin de una lista cambiante de palabras que coincidan con los caracteres que introducen en el campo. Los usuarios pueden seleccionar una de las coincidencias que se presentan, o bien continuar introduciendo texto para restringir an ms las opciones. Al crear un campo de texto con la funcin Autocompletar, debe asociarlo a un objeto BasicFilteredList. El BasicFilteredList suministra las cadenas para la comparacin, que pueden ser no modificables o bien derivadas de fuentes de datos de un dispositivo BlackBerry como, por ejemplo, los contactos, las notas y las tareas. Clases AutoCompleteField, BasicFilteredList

11

Gua de referencia rpida

Campos de texto con la funcin Autocompletar

Compatible desde Ejemplo

BlackBerry Java SDK 5.0

Para obtener ms informacin acerca de los campos de texto con la funcin Autocompletar, consulte la Gua de desarrollo de interfaz de usuario y navegacin.

Ejemplo de cdigo: crear un campo de texto con la funcin Autocompletar


import net.rim.device.api.ui.UiApplication; import net.rim.device.api.ui.container.MainScreen; import net.rim.device.api.ui.component.AutoCompleteField; import net.rim.device.api.collection.util.*; public class AutoCompleteFieldApp extends UiApplication { public static void main(String[] args) { AutoCompleteFieldApp app = new AutoCompleteFieldApp(); app.enterEventDispatcher(); } AutoCompleteFieldApp() { pushScreen(new HomeScreen()); } } class HomeScreen extends MainScreen { public HomeScreen() { setTitle("Autocomplete Text Field Demo"); BasicFilteredList filterList = new BasicFilteredList(); String[] days = {"Monday","Tuesday","Wednesday", "Thursday","Friday","Saturday","Sunday"}; filterList.addDataSet(1,days,"days",BasicFilteredList .COMPARISON_IGNORE_CASE); AutoCompleteField autoCompleteField = new AutoCompleteField(filterList); add(autoCompleteField); } }

12

Gua de referencia rpida

Campo de edicin de texto automtico

Campo de edicin de texto automtico


Utilice un campo de edicin de texto automtico para corregir automticamente el texto que el usuario de un dispositivo BlackBerry introduce en el campo. El texto se corrige a partir de la lista de definiciones de texto automtico que incluye los errores tipogrficos y las correcciones ms comunes. El texto se corrige cuando el usuario pulsa la tecla Espacio. Clase Compatible desde Ejemplo AutoTextEditField BlackBerry Java SDK 4.0

Para obtener ms informacin acerca de los campos de edicin de texto automtico, consulte las Directrices sobre IU.

Ejemplo de cdigo: crear un campo de edicin de texto automtico.


import net.rim.device.api.ui.UiApplication; import net.rim.device.api.ui.container.MainScreen; import net.rim.device.api.ui.component.AutoTextEditField; public class AutoTextEditFieldDemo extends UiApplication { public static void main(String[] args) { AutoTextEditFieldDemo theApp = new AutoTextEditFieldDemo(); theApp.enterEventDispatcher(); } public AutoTextEditFieldDemo() { pushScreen(new AutoTextEditFieldDemoScreen()); } } class AutoTextEditFieldDemoScreen extends MainScreen { public AutoTextEditFieldDemoScreen() { setTitle("AutoText Edit Field Demo"); AutoTextEditField myField = new AutoTextEditField("Description: ", "");

13

Gua de referencia rpida

Campo de edicin de texto automtico activo

add(myField);

Campo de edicin de texto automtico activo


Utilice un campo de edicin de texto automtico activo para buscar los patrones de texto que el usuario de un dispositivo BlackBerry introduce en el campo. Cuando se encuentra un patrn, el texto pasa a ser activo y el usuario puede hacer clic en el mismo para acceder a elementos de men especiales. Por ejemplo, las direcciones de correo y los nmeros de telfono son dos de los patrones que se reconocen de forma predeterminada. Adems, cuando el usuario pulsa la tecla Espacio, el texto se corrige a partir de la lista de definiciones de texto automtico, que incluye los errores tipogrficos y las correcciones ms comunes. Clases Compatible desde Ejemplo ActiveAutoTextEditField BlackBerry Java SDK 5.0

Para obtener ms informacin acerca de los campos de texto activo con la funcin Autocompletar, consulte las Directrices sobre IU.

Ejemplo de cdigo: crear un campo de edicin de texto automtico activo


import net.rim.device.api.ui.UiApplication; import net.rim.device.api.ui.container.MainScreen; import net.rim.device.api.ui.component.ActiveAutoTextEditField; public class ActiveAutoTextEditFieldDemo extends UiApplication { public static void main(String[] args) { ActiveAutoTextEditFieldDemo theApp = new ActiveAutoTextEditFieldDemo(); theApp.enterEventDispatcher(); } public ActiveAutoTextEditFieldDemo() { pushScreen(new ActiveAutoTextEditFieldDemoScreen()); } } class ActiveAutoTextEditFieldDemoScreen extends MainScreen { 14

Gua de referencia rpida

Campo de edicin de texto automtico activo

public ActiveAutoTextEditFieldDemoScreen() { setTitle("Active AutoText Edit Field Demo"); ActiveAutoTextEditField myField = new ActiveAutoTextEditField("Send a message to Mike: \n \n", ""); add(myField); }

15

Gua de referencia rpida

Campos de seleccin

Campos de seleccin
Casilla de verificacin.

Utilice las casillas de verificacin para seleccionar las opciones que los usuarios del dispositivo BlackBerry pueden activar o desactivar. Los usuarios pueden activar cualquier nmero de casillas de verificacin en un grupo. Clase Compatible desde Ejemplo CheckboxField BlackBerry Java SDK 3.7

Para obtener ms informacin acerca de las casillas de verificacin, consulte las Directrices sobre IU.

Ejemplo de cdigo: crear una casilla de verificacin


import net.rim.device.api.ui.Field; import net.rim.device.api.ui.UiApplication; import net.rim.device.api.ui.container.MainScreen; import net.rim.device.api.ui.component.LabelField; import net.rim.device.api.ui.component.CheckboxField; public class CheckboxFieldDemo extends UiApplication { public static void main(String[] args) { CheckboxFieldDemo theApp = new CheckboxFieldDemo(); theApp.enterEventDispatcher(); } public CheckboxFieldDemo() { pushScreen(new CheckboxFieldDemoScreen()); } } class CheckboxFieldDemoScreen extends MainScreen { public CheckboxFieldDemoScreen() { LabelField title = new LabelField("Check Box Demo",

16

Gua de referencia rpida

Lista desplegable basada en texto

LabelField.ELLIPSIS | LabelField.USE_ALL_WIDTH); setTitle(title); CheckboxField checkBox1 = new CheckboxField("Ignore Case", true); CheckboxField checkBox2 = new CheckboxField("Ignore Acronyms", false); add(checkBox1); add(checkBox2);

Lista desplegable basada en texto


Utilice una lista desplegable basada en texto para obtener las opciones basadas en texto que los usuarios del dispositivo BlackBerry pueden seleccionar de una lista. Los usuarios pueden seleccionar nicamente una opcin a la vez. Clase Compatible desde Ejemplo ObjectChoiceField BlackBerry Java SDK 5.0

Para obtener ms informacin acerca de las listas desplegables basadas en texto, consulte las Directrices sobre IU.

Ejemplo de cdigo: crear una lista desplegable basada en texto.


import net.rim.device.api.ui.*; import net.rim.device.api.ui.component.*; import net.rim.device.api.ui.container.*; public class TextDropdownListDemo extends UiApplication { public static void main(String[] args) { TextDropdownListDemo theApp = new TextDropdownListDemo(); theApp.enterEventDispatcher(); } public TextDropdownListDemo() { pushScreen(new TextDropdownListDemoScreen()); } } 17

Gua de referencia rpida

Lista desplegable numrica

class TextDropdownListDemoScreen extends MainScreen { public TextDropdownListDemoScreen() { setTitle("Drop-down List Demo"); String choices[] = {"Monday","Tuesday","Wednesday","Thursday","Friday","Satu rday","Sunday"}; int iSetTo = 2; add(new ObjectChoiceField("Day of the week",choices,iSetTo)); } }

Lista desplegable numrica


Utilice una lista desplegable numrica para obtener las opciones numricas que los usuarios del dispositivo BlackBerry pueden seleccionar de una lista. Los usuarios pueden seleccionar nicamente una opcin a la vez. Clase Compatible desde Ejemplo NumericChoiceField BlackBerry Java SDK 3.6

Para obtener ms informacin acerca de las listas desplegables numricas, consulte las Directrices sobre IU.

Ejemplo de cdigo: crear una lista desplegable numrica


import net.rim.device.api.ui.*; import net.rim.device.api.ui.component.*; import net.rim.device.api.ui.container.*; public class NumericDropdownListDemo extends UiApplication { public static void main(String[] args) { NumericDropdownListDemo theApp = new NumericDropdownListDemo(); theApp.enterEventDispatcher(); } public NumericDropdownListDemo() { pushScreen(new NumericDropdownListDemoScreen()); 18

Gua de referencia rpida

Campo de fecha

} } class NumericDropdownListDemoScreen extends MainScreen { public NumericDropdownListDemoScreen() { setTitle("Drop-down List Demo"); int iStartAt = 1; int iEndAt = 31; int iIncrement = 1; int iSetTo = 10; add(new NumericChoiceField("Day of the month",iStartAt,iEndAt,iIncrement,iSetTo-1)); } }

Campo de fecha
Utilice un campo de fecha para mostrar la fecha y la hora. Clase Compatible desde Ejemplo DateField BlackBerry Java SDK 3.6

Para obtener ms informacin acerca de los campos de fecha, consulte las Directrices sobre IU.

Ejemplo de cdigo: crear un campo de fecha


import net.rim.device.api.ui.*; import net.rim.device.api.ui.component.*; import net.rim.device.api.ui.container.*; public class DateFieldDemo extends UiApplication { public static void main(String[] args) { DateFieldDemo theApp = new DateFieldDemo(); theApp.enterEventDispatcher(); }

19

Gua de referencia rpida

Colector de fechas

} class DateFieldDemoScreen extends MainScreen { public DateFieldDemoScreen() { setTitle("Date Field Demo"); add(new DateField("Date and Time: ", System.currentTimeMillis(), DateField.DATE_TIME)); } }

public DateFieldDemo() { pushScreen(new DateFieldDemoScreen()); }

Colector de fechas
Utilice un colector de fechas para permitir que los usuarios del dispositivo BlackBerry puedan seleccionar una fecha y hora. Clase Compatible desde Ejemplo DateTimePicker BlackBerry Java SDK 5.0

Para obtener ms informacin sobre los colectores de fecha y hora, consulte las Directrices sobre IU.

Ejemplo de cdigo: crear un colector de fechas


import net.rim.device.api.ui.*; import net.rim.device.api.ui.picker.*; import net.rim.device.api.ui.component.*; import net.rim.device.api.ui.container.*; import net.rim.device.api.database.*; import net.rim.device.api.io.*; import java.util.*; public class DatePickerDemo extends UiApplication { public static void main(String[] args) 20

Gua de referencia rpida

Colector de archivos

} class DatePickerDemoScreen extends MainScreen { public DatePickerDemoScreen() { setTitle("Date picker demo"); add(new RichTextField("Trying Date Picker")); UiApplication.getUiApplication().invokeLater(new Runnable() { public void run() { DateTimePicker datePicker = DateTimePicker.createInstance(); datePicker.doModal(); } }); } }

} public DatePickerDemo() { pushScreen(new DatePickerDemoScreen()); }

DatePickerDemo theApp = new DatePickerDemo(); theApp.enterEventDispatcher();

Colector de archivos
Utilice un colector de archivos para permitir que los usuarios del dispositivo BlackBerry seleccionen un archivo del dispositivo BlackBerry. Clase Compatible desde Ejemplo FilePicker BlackBerry Java SDK 5.0

Para obtener ms informacin acerca de los colectores de archivos, consulte las Directrices sobre IU.

Ejemplo de cdigo: crear un colector de archivos


21

Gua de referencia rpida

Casilla de seleccin numrica

import net.rim.device.api.ui.*; import net.rim.device.api.ui.picker.*; import net.rim.device.api.ui.component.*; import net.rim.device.api.ui.container.*; import net.rim.device.api.io.*; public class FilePickerDemo extends UiApplication { public static void main(String[] args) { FilePickerDemo theApp = new FilePickerDemo(); theApp.enterEventDispatcher(); } public FilePickerDemo() { pushScreen(new FilePickerDemoScreen()); } } class FilePickerDemoScreen extends MainScreen { public FilePickerDemoScreen() { setTitle("File Picker Demo"); add(new LabelField("Trying file picker")); UiApplication.getUiApplication().invokeLater(new Runnable() { public void run() { FilePicker fp = FilePicker.getInstance(); FilePickListener fileListener = new FilePickListener(); fp.setListener(fileListener); fp.show(); } }); } } class FilePickListener implements FilePicker.Listener { public void selectionDone(String str) { Dialog.alert("You selected " + str); } }

Casilla de seleccin numrica


Utilice una casilla de seleccin numrica para obtener los elementos que los usuarios del dispositivo BlackBerry pueden seleccionar de una lista ordenada. Clase Compatible desde TextSpinBoxField BlackBerry Java SDK 5.0

22

Gua de referencia rpida

Casilla de seleccin numrica

Ejemplo

Para obtener ms informacin acerca de las casillas de seleccin numrica, consulte las Directrices sobre IU.

Ejemplo de cdigo: crear una casilla de seleccin numrica


import net.rim.device.api.ui.UiApplication; import net.rim.device.api.ui.container.MainScreen; import net.rim.device.api.ui.container.SpinBoxFieldManager; import net.rim.device.api.ui.component.Dialog; import net.rim.device.api.ui.component.TextSpinBoxField; public class SpinBoxDemo extends UiApplication { public static void main(String[] args) { SpinBoxDemo theApp = new SpinBoxDemo(); theApp.enterEventDispatcher(); } public SpinBoxDemo() { pushScreen(new SpinBoxDemoScreen()); } } class SpinBoxDemoScreen extends MainScreen { TextSpinBoxField spinBoxDays; TextSpinBoxField spinBoxMonths; SpinBoxFieldManager spinBoxMgr; public SpinBoxDemoScreen() { setTitle("Spin Box Demo"); final String[] DAYS = {"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"}; final String[] MONTHS = {"January","February","March","April","May","June","July","August","September", "October","November","December"}; spinBoxMgr = new SpinBoxFieldManager(); spinBoxMgr.setVisibleRows(3); spinBoxDays = new TextSpinBoxField(DAYS); spinBoxMonths = new TextSpinBoxField(MONTHS); spinBoxMgr.add(spinBoxDays); spinBoxMgr.add(spinBoxMonths); 23

Gua de referencia rpida

Colector de ubicacin

add(spinBoxMgr); } public void close() { Dialog.alert("You selected " + (String)spinBoxDays.get(spinBoxDays.getSelectedIndex()) + " and " + (String)spinBoxMonths.get(spinBoxMonths.getSelectedIndex())); super.close(); }

Colector de ubicacin
Utilice un colector de ubicacin para permitir que los usuarios del dispositivo BlackBerry puedan seleccionar una ubicacin de una lista de opciones que defina. Clase Compatible desde Ejemplo LocationPicker BlackBerry Java SDK 5.0

Para obtener ms informacin acerca de los colectores de ubicacin, consulte las Directrices de IU.

Ejemplo de cdigo: crear un colector de ubicacin


import net.rim.blackberry.api.invoke.*; import net.rim.device.api.gps.*; import net.rim.device.api.lbs.picker.*; import net.rim.device.api.ui.*; import net.rim.device.api.ui.container.*; import net.rim.device.api.ui.component.*; import javax.microedition.location.*; import java.util.Enumeration; public class LocationPickerApp extends UiApplication { public static void main(String[] args) { LocationPickerApp app = new LocationPickerApp(); app.enterEventDispatcher(); } public LocationPickerApp() { 24

Gua de referencia rpida

Colector de ubicacin

pushScreen(new LocationPickerAppScreen()); } static class LocationPickerAppScreen extends MainScreen implements LocationPicker.Listener, FieldChangeListener { private LocationPicker _locationPicker; private ButtonField _buttonField; private LabelField _nameLabel; private LabelField _descLabel; private LabelField _coordLabel; private boolean _mapsPresent = false; LocationPickerAppScreen() { setTitle("Location Picker Demo"); _buttonField = new ButtonField("Choose location", ButtonField.NEVER_DIRTY); _buttonField.setChangeListener(this); add(_buttonField); _nameLabel = new LabelField(); _descLabel = new LabelField(); _coordLabel = new LabelField(); add(_nameLabel); add(_descLabel); add(_coordLabel); Landmark[] landmarks = new Landmark[] {new Landmark("New York", "Times Square", new QualifiedCoordinates(40.757682, -73.98571, Float.NaN, Float.NaN, Float.NaN), null), new Landmark("New York","Central Park", new QualifiedCoordinates(40.783333, -73.966667, Float.NaN, Float.NaN, Float.NaN), null)}; int arraySize = 7; LocationPicker.Picker mapsLocationPicker = null; try { mapsLocationPicker = MapsLocationPicker.getInstance(); _mapsPresent = true; } catch(IllegalStateException ise) { arraySize--; } boolean gpsSupported = GPSInfo.getGPSDataSource() != null; if(!gpsSupported) { arraySize--; } LocationPicker.Picker[] locationPickersArray = new LocationPicker.Picker[arraySize]; locationPickersArray[--arraySize] = EnterLocationPicker.getInstance(false); locationPickersArray[--arraySize] = SuggestedLocationPicker.getInstance("App specific...", landmarks ); locationPickersArray[--arraySize] = RecentLocationPicker.getInstance(); locationPickersArray[--arraySize] = ContactsLocationPicker.getInstance(false); locationPickersArray[--arraySize] = GeotaggedPhotoPicker.getInstance();

25

Gua de referencia rpida

Colector de ubicacin

if(_mapsPresent) { locationPickersArray[--arraySize] = mapsLocationPicker; } if(gpsSupported) { locationPickersArray[--arraySize] = GPSLocationPicker.getInstance(); } _locationPicker = LocationPicker.getInstance(locationPickersArray); Enumeration globalPickers = _locationPicker.getGlobalLocationPickers(); while (globalPickers.hasMoreElements()) { _locationPicker.addLocationPicker((LocationPicker .Picker)globalPickers.nextElement()); } _locationPicker.setListener(this); } public void locationPicked (LocationPicker.Picker picker, Landmark location) { if(location != null) { _nameLabel.setText("Location name: " + location.getName()); _descLabel.setText("Description: " + location.getDescription()); QualifiedCoordinates coordinates = location.getQualifiedCoordinates(); if(coordinates != null) { StringBuffer buff = new StringBuffer("Coordinates: "); double latitude = coordinates.getLatitude(); double longitude = coordinates.getLongitude(); buff.append("Latitude:"); buff.append(latitude); buff.append(", Longitude: "); buff.append(longitude); _coordLabel.setText(buff.toString()); } if(_mapsPresent) { Landmark[] landmark = {location}; MapsArguments mapsArgs = new MapsArguments(landmark); Invoke.invokeApplication(Invoke.APP_TYPE_MAPS, mapsArgs); } } } public void fieldChanged(Field field, int context) { if(field == _buttonField) { _locationPicker.show(); } } }

26

Gua de referencia rpida

Campo de rbol

Campo de rbol
Utilice un campo de rbol para mostrar los componentes en una estructura jerrquica. Puede configurar los nodos de campo de rbol para que se puedan contraer. Clase Compatible desde Ejemplo TreeField BlackBerry Java SDK 3.7

Para obtener ms informacin acerca de los campos de rbol, consulte las Directrices sobre IU.

Ejemplo de cdigo: crear un campo de rbol


import net.rim.device.api.ui.*; import net.rim.device.api.ui.component.*; import net.rim.device.api.ui.container.*; public class TreefieldDemo extends UiApplication { public static void main(String[] args) { TreefieldDemo theApp = new TreefieldDemo(); theApp.enterEventDispatcher(); } public TreefieldDemo() { pushScreen(new TreefieldDemoScreen()); } } class TreefieldDemoScreen extends MainScreen { public TreefieldDemoScreen() { setTitle("Tree Field Demo"); String fieldOne = new String("Parent folder 1"); String fieldTwo = new String("Parent folder 2"); String fieldThree = new String("Sub-folder 1"); String fieldFour = new String("Sub-folder 2"); TreeCallback myCallback = new TreeCallback();

27

Gua de referencia rpida

Campo de rbol

} private class TreeCallback implements TreeFieldCallback { public void drawTreeItem(TreeField _tree, Graphics g, int node, int y, int width, int indent) { String text = (String)_tree.getCookie(node); g.drawText(text, indent, y); } }

TreeField myTree = new TreeField(myCallback, Field.FOCUSABLE); int node1 = myTree.addChildNode(0, fieldOne); int node2 = myTree.addChildNode(0, fieldTwo); int node3 = myTree.addChildNode(node2, fieldThree); int node4 = myTree.addChildNode(node3, fieldFour); myTree.setExpanded(node4, false); add(myTree);

28

Gua de referencia rpida

Botones

Botones
Botn de opcin

Utilice los botones de opcin para obtener las opciones que los usuarios del dispositivo BlackBerry pueden seleccionar de un conjunto. Los usuarios slo pueden seleccionar una opcin de cada conjunto de botones de opcin. Clase Compatible desde Ejemplo RadioButtonGroup, RadioButtonField BlackBerry Java SDK 3.6

Para obtener ms informacin acerca de los botones de opcin, consulte las Directrices sobre IU.

Ejemplo de cdigo: crear un botn de opcin


import net.rim.device.api.ui.*; import net.rim.device.api.ui.component.*; import net.rim.device.api.ui.container.*; public class RadioButtonDemo extends UiApplication { public static void main(String[] args) { RadioButtonDemo theApp = new RadioButtonDemo(); theApp.enterEventDispatcher(); } public RadioButtonDemo() { pushScreen(new RadioButtonDemoScreen()); } } class RadioButtonDemoScreen extends MainScreen { public RadioButtonDemoScreen() { setTitle("Radio Button Demo"); RadioButtonGroup rbg = new RadioButtonGroup(); add(new RadioButtonField("Option 1",rbg,true));

29

Gua de referencia rpida

Barra de herramientas

add(new RadioButtonField("Option 2",rbg,false));

Barra de herramientas
Las barras de herramientas ofrecen al usuario una manera rpida y fcil de acceder a las acciones frecuentes de una aplicacin o pantalla. Cada barra de herramientas consiste en un conjunto de iconos que aparecen situados en la parte inferior de la pantalla. Slo los smartphones de BlackBerry Storm Series y los smartphones BlackBerry Torch 9800 utilizan barras de herramientas. Paquete Compatible desde Ejemplo Barra de herramientas BlackBerry Java SDK 6.0

Para obtener ms informacin acerca de las barras de herramientas, consulte las Directrices sobre IU.

Cdigo de ejemplo: crear una barra de herramientas


import net.rim.device.api.ui.*; import net.rim.device.api.ui.component.*; import net.rim.device.api.ui.container.*; import net.rim.device.api.ui.image.*; import net.rim.device.api.ui.toolbar.*; import net.rim.device.api.util.*; import net.rim.device.api.system.*; import net.rim.device.api.command.*; public class ToolbarDemo extends UiApplication { public static void main(String[] args) { ToolbarDemo theApp = new ToolbarDemo(); theApp.enterEventDispatcher(); } public ToolbarDemo()

30

Gua de referencia rpida

Barra de herramientas

} private final static class ToolbarDemoScreen extends MainScreen { public ToolbarDemoScreen() { if (ToolbarManager.isToolbarSupported()) { setTitle("Toolbar Demo"); ToolbarManager manager = new ToolbarManager(); setToolbar(manager); try { Bitmap myBitmap = Bitmap.getBitmapResource("myImg.jpg"); Image myImage = ImageFactory.createImage(myBitmap); /* * To create more buttons, Repeat the following lines * up until manager.add() */ ToolbarButtonField button1 = new ToolbarButtonField(myImage, new StringProvider("butn1")); button1.setCommandContext(new Object() { public String toString() { return "Button1"; } }); button1.setCommand(new Command(new CommandHandler() { public void execute(ReadOnlyCommandMetadata metadata, Object context) { Dialog.alert("Executing command for " + context.toString()); } })); manager.add(new ToolbarSpacer(0)); manager.add(button1); } catch (Exception e) { System.out.println(e.getMessage()); } } else { Dialog.alert("The Toolbar is not supported on this device."); } } }

// Push a screen onto the UI stack for rendering. pushScreen(new ToolbarDemoScreen());

31

Gua de referencia rpida

Botn

Botn
Utilice un botn para permitir que los usuarios del dispositivo BlackBerry realicen una accin cuando hagan clic en el botn. Clase Compatible desde Ejemplo ButtonField BlackBerry Java SDK 4.0

Para obtener ms informacin acerca de los botones, consulte las Directrices sobre IU. Para obtener informacin acerca de los botones avanzados, lea el artculo de la base de conocimientos sobre cmo implementar botones avanzados, campos y administradores.

Ejemplo de cdigo: crear un botn


import net.rim.device.api.ui.*; import net.rim.device.api.ui.component.*; import net.rim.device.api.ui.container.*; public class ButtonFieldDemo extends UiApplication { public static void main(String[] args) { ButtonFieldDemo theApp = new ButtonFieldDemo(); theApp.enterEventDispatcher(); } public ButtonFieldDemo() { pushScreen(new ButtonFieldDemoScreen()); } } class ButtonFieldDemoScreen extends MainScreen { public ButtonFieldDemoScreen() { setTitle("Button Field Demo"); ButtonField addButton = new ButtonField("Add"); ButtonField delButton = new ButtonField("Delete"); 32

Gua de referencia rpida

Botn

add(addButton); add(delButton);

33

Gua de referencia rpida

Campos de actividad

Campos de actividad
Campo de evaluacin

Utilice un campo de evaluacin para crear una barra horizontal que muestre un indicador de progreso o un valor numrico. Clase Compatible desde Ejemplo GaugeField BlackBerry Java SDK 4.2

Para obtener ms informacin acerca de los campos de evaluacin, consulte las Directrices sobre IU.

Ejemplo de cdigo: crear un campo de evaluacin.


import net.rim.device.api.ui.*; import net.rim.device.api.ui.component.GaugeField; import net.rim.device.api.ui.container.*; public class GaugeFieldDemo extends UiApplication { public static void main(String[] args) { GaugeFieldDemo theApp = new GaugeFieldDemo(); theApp.enterEventDispatcher(); } public GaugeFieldDemo() { pushScreen(new GaugeFieldDemoScreen()); } } class GaugeFieldDemoScreen extends MainScreen { public GaugeFieldDemoScreen () { setTitle("Gauge Field Demo"); GaugeField percentGauge = new GaugeField("Percent: ", 1, 100, 29, GaugeField.PERCENT);

34

Gua de referencia rpida

Indicador de actividad

add(percentGauge);

Indicador de actividad
Utilice un indicador de actividad para mostrar una pista visual que indique que una tarea de duracin desconocida est en progreso. Si puede calcular la duracin de la tarea, puede utilizar en su lugar un indicador de progreso. Clase Compatible desde Ejemplo ActivityImageField BlackBerry Java SDK 6.0

Para obtener ms informacin acerca de los indicadores de actividad, consulte las Directrices de IU.

Ejemplo de cdigo: crear un indicador de actividad


import net.rim.device.api.system.Bitmap; import net.rim.device.api.ui.*; import net.rim.device.api.ui.component.progressindicator.*; import net.rim.device.api.ui.container.*; public class ActivityIndicatorDemo extends UiApplication { public static void main(String[] args) { ActivityIndicatorDemo theApp = new ActivityIndicatorDemo(); theApp.enterEventDispatcher(); } public ActivityIndicatorDemo() { pushScreen(new ActivityIndicatorDemoScreen()); } } class ActivityIndicatorDemoScreen extends MainScreen { ActivityIndicatorView view = new ActivityIndicatorView(Field.USE_ALL_WIDTH); ActivityIndicatorModel model = new ActivityIndicatorModel(); ActivityIndicatorController controller = new ActivityIndicatorController(); 35

Gua de referencia rpida

Indicador de progreso

public ActivityIndicatorDemoScreen () { setTitle("Activity Indicator Demo"); view.setController(controller); view.setModel(model); controller.setModel(model); controller.setView(view); model.setController(controller); Bitmap bitmap = Bitmap.getBitmapResource("spinner.png"); view.createActivityImageField(bitmap, 5, Field.FIELD_HCENTER); add(view); }

Indicador de progreso
Utilice un indicador de progreso para mostrar una pista visual que indique que una tarea cuya duracin se puede calcular est en progreso. Si no puede calcular la duracin de una tarea, puede utilizar un indicador de actividad. Clase Compatible desde Ejemplo ProgressBarField BlackBerry Java SDK 6.0

Para obtener ms informacin acerca de los indicadores de progreso, consulte las Directrices sobre IU.

Ejemplo de cdigo: crear un indicador de progreso


import net.rim.device.api.ui.*; import net.rim.device.api.ui.container.*; import net.rim.device.api.ui.component.progressindicator.*; public class ProgressIndicatorDemo extends UiApplication { public static void main(String[] args) { ProgressIndicatorDemo theApp = new ProgressIndicatorDemo(); theApp.enterEventDispatcher(); } public ProgressIndicatorDemo() 36

Gua de referencia rpida

Indicador de progreso

{ }

pushScreen(new ProgressIndicatorDemoScreen());

} class ProgressIndicatorDemoScreen extends MainScreen { ProgressIndicatorView view = new ProgressIndicatorView(0); ProgressIndicatorModel model = new ProgressIndicatorModel(0, 100, 0); ProgressIndicatorController controller = new ProgressIndicatorController(); ProgressThread _progressThread; public ProgressIndicatorDemoScreen() { setTitle("Progress Indicator Demo"); model.setController(controller); view.setModel(model); view.setController(controller); controller.setModel(model); controller.setView(view); view.setLabel("Percent completion"); view.createProgressBar(Field.FIELD_HCENTER); add(view); _progressThread = new ProgressThread(); _progressThread.start(); } // A thread that simulates the processing of data class ProgressThread extends Thread { public void run() { for(int i = 0; i <= 100; ++i) { ProgressIndicatorDemoScreen.this.model.setValue(i); try { // Simulate work sleep(250); } catch(InterruptedException ie) { } } } } }

37

Gua de referencia rpida

Campos de imagen

Campos de imagen
Campo de mapa de bits

Utilice un campo de mapa de bits para mostrar imgenes de mapa de bits que el usuario de un dispositivo BlackBerry puede visualizar. Clase Compatible desde Ejemplo BitmapField BlackBerry Java SDK 3.7

Para obtener ms informacin acerca de los campos de mapa de bits, consulte la Gua de desarrollo multimedia.

Ejemplo de cdigo: crear un campo de mapa de bits


import net.rim.device.api.system.Bitmap; import net.rim.device.api.ui.UiApplication; import net.rim.device.api.ui.component.BitmapField; import net.rim.device.api.ui.container.MainScreen; public class BitmapFieldDemo extends UiApplication { public static void main(String[] args) { BitmapFieldDemo theApp = new BitmapFieldDemo(); theApp.enterEventDispatcher(); } public BitmapFieldDemo() { pushScreen(new BitmapFieldDemoScreen()); } } class BitmapFieldDemoScreen extends MainScreen { public BitmapFieldDemoScreen () { setTitle("Bitmap Field Demo"); Bitmap bitmapImage = Bitmap.getBitmapResource("BlackBerry_Data_Stream.jpg");

38

Gua de referencia rpida

Campo de desplazamiento de imgenes

BitmapField fieldDemo = new BitmapField(bitmapImage); add(fieldDemo);

Campo de desplazamiento de imgenes


Utilice un campo de desplazamiento de imgenes para mostrar una fila de imgenes por las que el usuario del dispositivo BlackBerry puede desplazarse horizontalmente. Clase Compatible desde Ejemplo PictureScrollField BlackBerry Java SDK 5.0

Para obtener ms informacin acerca de los campos de desplazamiento de imgenes, consulte las Directrices de IU.

Ejemplo de cdigo: crear un campo de desplazamiento de imgenes


import net.rim.device.api.system.*; import net.rim.device.api.ui.*; import net.rim.device.api.ui.container.*; import net.rim.device.api.ui.decor.*; import net.rim.device.api.ui.extension.component.*; import net.rim.device.api.ui.extension.component.PictureScrollField.*; public class PictureScrollFieldDemo extends UiApplication { public static void main(String[] args) { PictureScrollFieldDemo theApp = new PictureScrollFieldDemo(); theApp.enterEventDispatcher(); } public PictureScrollFieldDemo() { pushScreen(new PictureScrollFieldDemoScreen()); } } class PictureScrollFieldDemoScreen extends MainScreen { 39

Gua de referencia rpida

Campo de desplazamiento de imgenes

public PictureScrollFieldDemoScreen() { setTitle("Picture Scroll Field Demo"); Bitmap[] images = new Bitmap[3]; String[] labels = new String[3]; String[] tooltips = new String[3]; images[0] = Bitmap.getBitmapResource("image1.jpg"); labels[0] = "Label for image 1"; tooltips[0] = "Tooltip for image 1"; images[1] = Bitmap.getBitmapResource("image2.jpg"); labels[1] = "Label for image 2"; tooltips[1] = "Tooltip for image 2"; images[2] = Bitmap.getBitmapResource("image3.jpg"); labels[2] = "Label for image 2"; tooltips[2] = "Tooltip for image 2"; ScrollEntry[] entries = new ScrollEntry[3]; for (int i = 0; i < entries.length; i++) { entries[i] = new ScrollEntry(images[i], labels[i],tooltips[i]); } PictureScrollField pictureScrollField = new PictureScrollField(150, 100); pictureScrollField.setData(entries, 0); pictureScrollField.setHighlightStyle(HighlightStyle .ILLUMINATE_WITH_SHRINK_LENS); pictureScrollField.setHighlightBorderColor(Color.BLUE); pictureScrollField.setBackground(BackgroundFactory .createSolidTransparentBackground(Color.BLACK, 150)); pictureScrollField.setLabelsVisible(true); add(pictureScrollField); }

40

Gua de referencia rpida

Listas y tablas

Listas y tablas
Lista sencilla
Utilice una lista sencilla para mostrar una lista de elementos como texto. Clase Compatible desde Ejemplo SimpleList BlackBerry Java SDK 6.0

Para obtener ms informacin acerca de las listas sencillas, consulte las Directrices sobre IU.

Ejemplo de cdigo: crear una lista sencilla


import net.rim.device.api.ui.*; import net.rim.device.api.ui.container.*; import net.rim.device.api.ui.component.*; import net.rim.device.api.ui.component.table.*; public class SimpleListDemo extends UiApplication { public static void main(String[] args) { SimpleListDemo theApp = new SimpleListDemo(); theApp.enterEventDispatcher(); } public SimpleListDemo() { pushScreen(new SimpleListScreen()); } private static final class SimpleListScreen extends MainScreen { public SimpleListScreen() { super(Manager.NO_VERTICAL_SCROLL); setTitle("Simple List Demo"); add(new LabelField("My list", LabelField.FIELD_HCENTER)); add(new SeparatorField()); Manager mainManager = getMainManager(); 41

Gua de referencia rpida

Lista enriquecida

SimpleList listField = new SimpleList(mainManager); listField.add("Item 1"); listField.add("Item 2"); listField.add("Item 3");

Lista enriquecida
Utilice una lista enriquecida para mostrar una lista de elementos que contenga una imagen opcional a la izquierda, una lista de etiquetas junto a la imagen y una descripcin opcional situada debajo de la imagen y de las etiquetas. Clase Compatible desde Ejemplo RichList BlackBerry Java SDK 6.0

Para obtener ms informacin acerca de las listas enriquecidas, consulte las Directrices de IU.

Ejemplo de cdigo: crear una lista enriquecida


import net.rim.device.api.ui.*; import net.rim.device.api.ui.container.*; import net.rim.device.api.ui.component.*; import net.rim.device.api.system.*; import net.rim.device.api.ui.component.table.*; public class RichListDemo extends UiApplication { public static void main(String[] args) { RichListDemo theApp = new RichListDemo(); theApp.enterEventDispatcher(); } public RichListDemo() { pushScreen(new RichListScreen()); } private static class RichListScreen extends MainScreen 42

Gua de referencia rpida

Tabla

public RichListScreen() { super(Manager.NO_VERTICAL_SCROLL); setTitle("Rich List Demo"); add(new LabelField("BlackBerry Devices", LabelField.FIELD_HCENTER)); add(new SeparatorField()); Manager mainManager = getMainManager(); RichList list = new RichList(mainManager, true, 2, 1); Bitmap bitmap1 = Bitmap.getBitmapResource("9500.png"); Bitmap bitmap2 = Bitmap.getBitmapResource("9000.png"); list.add(new Object[] {bitmap1, "Device 1", "BlackBerry Smartphone 9500", "Description of Device 1."}); list.add(new Object[] {bitmap2, "Device 2", "BlackBerry Smartphome 9000", "Description of Device 2."}); } }

Tabla
Utilice un modelo de tabla para almacenar y mostrar datos en una tabla. Clase Compatible desde Ejemplo TableModel BlackBerry Java SDK 6.0

Para obtener ms informacin acerca de las tablas, incluidas las tablas ordenadas cuyos elementos aparecen agrupados bajo encabezados, consulte las Directrices sobre IU.

Ejemplo de cdigo: crear una tabla


import import import import import import net.rim.device.api.ui.*; net.rim.device.api.ui.container.*; net.rim.device.api.ui.component.*; net.rim.device.api.ui.decor.*; net.rim.device.api.system.*; net.rim.device.api.ui.component.table.*; 43

Gua de referencia rpida

Tabla

public class TableModelDemo extends UiApplication { public static void main(String[] args) { UiApplication app = new TableModelDemo(); app.enterEventDispatcher(); } public TableModelDemo() { pushScreen(new TableModelDemoScreen()); } } class TableModelDemoScreen extends MainScreen { private RegionStyles _style; private TableModel _tableModel; private TableView _tableView; private TableController _controller; private static final int NUM_ROWS = 4; private static final int NUM_COLUMNS = 3; private static final int IMAGE_WIDTH = 50; private String modelNum[] = {"8100", "8220", "8300", "8330", "8700g", "8800", "9000", "9500"}; private String modelName[] = {"Pearl", "Pearl Flip", "Curve", "Curve", "8700g", "8800", "Bold", "Storm"}; private String osVersion[] = {"4.3", "4.6", "4.5", "4.6", "4.1", "4.2.1", "4.6", "4.7"}; private String deviceYear[] = {"2006", "2008", "2008", "2008", "2005","2007", "2008", "2008"}; private String deviceInterface[] = {"keyboard/trackball", "keyboard/trackball", "keyboard/trackball", "keyboard/trackball", "keyboard", "keyboard/trackball", "keyboard/trackball", "keyboard/trackball/touch"}; public TableModelDemoScreen() { super(Manager.NO_VERTICAL_SCROLL); setTitle("Table Model Demo"); _style = new RegionStyles(BorderFactory.createSimpleBorder(new XYEdges(1, 1, 1, 1), Border.STYLE_SOLID), null, null, null, RegionStyles.ALIGN_LEFT, RegionStyles.ALIGN_MIDDLE); _tableModel = new TableModel(); _tableView = new TableView(_tableModel); _tableView.setDataTemplateFocus(BackgroundFactory .createLinearGradientBackground(Color.WHITE, Color.WHITE, Color.BLUEVIOLET, Color.BLUEVIOLET)); _controller = new TableController(_tableModel, _tableView); _tableView.setController(_controller); setStyle(); add(new LabelField("BlackBerry Devices", LabelField.FIELD_HCENTER)); add(new SeparatorField()); add(_tableView); for(int i = 0; i < modelName.length; i++) { String imageFileName = modelNum[i] + ".png"; Bitmap bitmap = Bitmap.getBitmapResource(imageFileName);

44

Gua de referencia rpida

Tabla

} public void setStyle() { DataTemplate dataTemplate = new DataTemplate(_tableView, NUM_ROWS, NUM_COLUMNS) { public Field[] getDataFields(int modelRowIndex) { Object[] data = (Object[]) _tableModel.getRow(modelRowIndex); Field[] fields = new Field[data.length]; for(int i = 0; i < data.length; i++) { if(data[i] instanceof Bitmap) { fields[i] = new BitmapField((Bitmap) data[i]); } else if(data[i] instanceof String) { fields[i] = new LabelField(data[i], Field.FOCUSABLE); } else { fields[i] = (Field) data[i]; } } return fields; } }; dataTemplate.createRegion(new XYRect(0, 1, 1, 3), _style); dataTemplate.createRegion(new XYRect(0, 0, 2, 1), _style); dataTemplate.setRowProperties(0, new TemplateRowProperties(Font.getDefault().getHeight() + (_style.getBorder() == null ? 0 : _style.getBorder().getTop() + _style.getBorder().getBottom()) + (_style.getMargin() == null ? 0 : _style.getMargin().top + _style.getMargin().bottom))); for(int i = 1; i < NUM_ROWS; i++) { dataTemplate.createRegion(new XYRect(1, i, 1, 1), _style); dataTemplate.setRowProperties(i, new TemplateRowProperties(Font.getDefault().getHeight() + (_style.getBorder() == null ? 0 : _style.getBorder().getTop() + _style.getBorder().getBottom()) + (_style.getMargin() == null ? 0 : _style.getMargin().top + _style.getMargin().bottom))); }

StringBuffer displayName = new StringBuffer(modelNum[i]); if(!modelName[i].equals(modelNum[i])) { displayName.append(" ("); displayName.append(modelName[i]); displayName.append(")"); } _tableModel.addRow(new Object[] {bitmap, displayName.toString(), osVersion[i], deviceYear[i], deviceInterface[i]}); }

45

Gua de referencia rpida

Tabla

int width = IMAGE_WIDTH + (_style.getBorder() == null ? 0 : _style.getBorder().getTop() + _style.getBorder().getBottom()) + (_style.getMargin() == null ? 0 : _style.getMargin().top + _style.getMargin().bottom); dataTemplate.setColumnProperties(0, new TemplateColumnProperties(width)); dataTemplate.setColumnProperties(1, new TemplateColumnProperties(Display.getWidth() - width)); _tableView.setDataTemplate(dataTemplate); dataTemplate.useFixedHeight(true); }

46

Gua de referencia rpida

Otros componentes

Otros componentes
Campo de navegador
Utilice un campo de navegador para mostrar contenido Web en una aplicacin del dispositivo BlackBerry. Clase Compatible desde Ejemplo BrowserField BlackBerry Java SDK 5.0

Para obtener ms informacin acerca de los campos de navegador, consulte la Gua de desarrollo de interfaz de usuario y navegacin.

Ejemplo de cdigo: configurar un campo de navegador


import net.rim.device.api.browser.field2.*; import net.rim.device.api.ui.*; import net.rim.device.api.ui.container.*; public class BrowserFieldDemo extends UiApplication { public static void main(String[] args) { BrowserFieldDemo app = new BrowserFieldDemo(); app.enterEventDispatcher(); } public BrowserFieldDemo() { pushScreen(new BrowserFieldDemoScreen()); } } class BrowserFieldDemoScreen extends MainScreen { public BrowserFieldDemoScreen() { BrowserFieldConfig myBrowserFieldConfig = new BrowserFieldConfig(); myBrowserFieldConfig.setProperty(BrowserFieldConfig .NAVIGATION_MODE,BrowserFieldConfig.NAVIGATION_MODE_POINTER);

47

Gua de referencia rpida

Barra de ttulo

BrowserField browserField = new BrowserField(myBrowserFieldConfig); add(browserField); browserField.requestContent("http://www.blackberry.com");

Barra de ttulo
Utilice una barra de ttulo para ofrecer informacin a los usuarios del dispositivo BlackBerry en la parte superior de la aplicacin. La mayora de las barras de ttulo contienen slo un ttulo, pero pueden mostrar los siguientes elementos: icono de la aplicacin, ttulo descriptivo y hora notificaciones de la aplicacin como, por ejemplo, un indicador de mensaje nuevo indicadores de conexin inalmbrica, incluidos nivel de cobertura inalmbrica, cobertura de red, indicador de GPS, indicador de Bluetooth e indicador de conexin Wi-Fi. indicador de batera indicador de llamada activa Clase Compatible desde Ejemplo StandardTitleBar BlackBerry Java SDK 6.0

Para obtener ms informacin acerca de las barras de ttulo, consulte las Directrices sobre IU.

Cdigo de ejemplo: crear una barra de ttulo


import net.rim.device.api.ui.*; import net.rim.device.api.ui.component.*; import net.rim.device.api.ui.container.*; public class TitleBarDemo extends UiApplication { public static void main(String[] args) { TitleBarDemo theApp = new TitleBarDemo(); theApp.enterEventDispatcher();

48

Gua de referencia rpida

Campo de mapa

} class TitleBarDemoScreen extends MainScreen { public TitleBarDemoScreen() { StandardTitleBar myTitleBar = new StandardTitleBar() .addIcon("my_logo.png") .addTitle("Title Bar Demo") .addClock() .addNotifications() .addSignalIndicator(); myTitleBar.setPropertyValue(StandardTitleBar.PROPERTY_BATTERY_VISIBILITY, StandardTitleBar.BATTERY_VISIBLE_LOW_OR_CHARGING); setTitleBar(myTitleBar); } }

} public TitleBarDemo() { pushScreen(new TitleBarDemoScreen()); }

Campo de mapa
Utilice un campo de mapa para mostrar un mapa en una aplicacin del dispositivo BlackBerry. Clase Compatible desde Ejemplo MapField BlackBerry Java SDK 6.0

Para obtener ms informacin acerca de los campos de mapa y los servicios basados en ubicacin, consulte la Gua de desarrollo de servicios basados en ubicacin.

Ejemplo de cdigo: crear un campo de mapa


import net.rim.device.api.lbs.maps.model.*; import net.rim.device.api.lbs.maps.ui.*; import net.rim.device.api.ui.*; 49

Gua de referencia rpida

Campo de mapa

import net.rim.device.api.ui.container.*; public class MapFieldDemo extends UiApplication { public static void main(String[] args) { MapFieldDemo theApp = new MapFieldDemo(); theApp.enterEventDispatcher(); } public MapFieldDemo() { pushScreen(new MapScreen()); } } class MapScreen extends FullScreen { public MapScreen() { super( FullScreen.DEFAULT_CLOSE | FullScreen.DEFAULT_MENU ); MapField map = new MapField(); MapAction action = map.getAction(); action.setCentreAndZoom(new MapPoint(43.46518, -80.52237), 3); add(map); } }

50

Gua de referencia rpida

Comentarios

Comentarios
Para ofrecer comentarios acerca de esta entrega, visite www.blackberry.com/docsfeedback.

51

Gua de referencia rpida

Historial de revisin del documento

Historial de revisin del documento


Fecha 29 de octubre de 2010 Descripcin Se agregaron los temas siguientes: Campo de edicin de texto automtico Campo de edicin de texto automtico activo Campo de evaluacin Campo de mapa de bits Botn Tabla Se agregaron los temas siguientes: Campo de mapa Se aadi el tema siguiente: Barra de herramientas Versin inicial.

4 de octubre de 2010 24 de agosto de 2010 3 de agosto de 2010

52

Gua de referencia rpida

Aviso legal

Aviso legal

10

2011 Research In Motion Limited. Reservados todos los derechos. BlackBerry, RIM, Research In Motion y las marcas comerciales, nombres y logotipos relacionados son propiedad de Research In Motion Limited y estn registrados y/o se usan en EE. UU. y en diferentes pases del mundo. Java es una marca comercial de Oracle America, Inc. Bluetooth es una marca comercial de Bluetooth SIG. Wi-Fi es una marca comercial de Wi-Fi Alliance.. Todas las dems marcas comerciales son propiedad de sus respectivos propietarios. Esta documentacin, incluida cualquier documentacin que se incorpore mediante referencia como documento proporcionado o disponible en www.blackberry.com/go/docs se proporciona o se pone a disposicin "TAL CUAL" y "SEGN SU DISPONIBILIDAD" sin ninguna condicin, responsabilidad o garanta de ningn tipo por Research In Motion Limited y sus empresas afiliadas ("RIM") y RIM no asume ninguna responsabilidad por los errores tipogrficos, tcnicos o cualquier otra imprecisin, error u omisin contenidos en esta documentacin. Con el fin de proteger la informacin confidencial y propia de RIM, as como los secretos comerciales, la presente documentacin describe algunos aspectos de la tecnologa de RIM en lneas generales. RIM se reserva el derecho a modificar peridicamente la informacin que contiene esta documentacin, si bien tampoco se compromete en modo alguno a proporcionar cambios, actualizaciones, ampliaciones o cualquier otro tipo de informacin que se pueda agregar a esta documentacin. Esta documentacin puede contener referencias a fuentes de informacin, hardware o software, productos o servicios, incluidos componentes y contenido como, por ejemplo, el contenido protegido por copyright y/o sitios Web de terceros (conjuntamente, los "Productos y servicios de terceros"). RIM no controla ni es responsable de ningn tipo de Productos y servicios de terceros, incluido, sin restricciones, el contenido, la exactitud, el cumplimiento de copyright, la compatibilidad, el rendimiento, la honradez, la legalidad, la decencia, los vnculos o cualquier otro aspecto de los Productos y servicios de terceros. La inclusin de una referencia a los Productos y servicios de terceros en esta documentacin no implica que RIM se haga responsable de dichos Productos y servicios de terceros o de dichos terceros en modo alguno. EXCEPTO EN LA MEDIDA EN QUE LO PROHBA ESPECFICAMENTE LA LEY DE SU JURISDICCIN, QUEDAN EXCLUIDAS POR LA PRESENTE TODAS LAS CONDICIONES, APROBACIONES O GARANTAS DE CUALQUIER TIPO, EXPLCITAS O IMPLCITAS, INCLUIDA, SIN NINGN TIPO DE LIMITACIN, CUALQUIER CONDICIN, APROBACIN, GARANTA, DECLARACIN DE GARANTA DE DURABILIDAD, IDONEIDAD PARA UN FIN O USO DETERMINADO, COMERCIABILIDAD, CALIDAD COMERCIAL, ESTADO DE NO INFRACCIN, CALIDAD SATISFACTORIA O TITULARIDAD, O QUE SE DERIVE DE UNA LEY O COSTUMBRE O UN CURSO DE LAS NEGOCIACIONES O USO DEL COMERCIO, O RELACIONADO CON LA DOCUMENTACIN O SU USO O RENDIMIENTO O NO RENDIMIENTO DE CUALQUIER SOFTWARE, HARDWARE, SERVICIO O CUALQUIER PRODUCTO O SERVICIO DE TERCEROS MENCIONADOS AQU. TAMBIN PODRA TENER OTROS DERECHOS QUE VARAN SEGN EL ESTADO O PROVINCIA. ES POSIBLE QUE ALGUNAS JURISDICCIONES NO PERMITAN LA EXCLUSIN O LA LIMITACIN DE GARANTAS IMPLCITAS Y CONDICIONES. EN LA MEDIDA EN QUE LO PERMITA LA LEY, CUALQUIER GARANTA IMPLCITA O CONDICIONES EN RELACIN CON LA DOCUMENTACIN NO SE PUEDEN EXCLUIR TAL Y COMO SE HA EXPUESTO ANTERIORMENTE, PERO PUEDEN SER LIMITADAS, Y POR LA PRESENTE ESTN LIMITADAS A NOVENTA (90) DAS DESDE DE LA FECHA QUE ADQUIRI LA DOCUMENTACIN O EL ELEMENTO QUE ES SUJETO DE LA RECLAMACIN.

53

Gua de referencia rpida

Aviso legal

EN LA MEDIDA MXIMA EN QUE LO PERMITA LA LEY DE SU JURISDICCIN, EN NINGN CASO RIM ASUMIR RESPONSABILIDAD ALGUNA POR CUALQUIER TIPO DE DAOS RELACIONADOS CON ESTA DOCUMENTACIN O SU USO, O RENDIMIENTO O NO RENDIMIENTO DE CUALQUIER SOFTWARE, HARDWARE, SERVICIO O PRODUCTOS Y SERVICIOS DE TERCEROS AQU MENCIONADOS INCLUIDOS SIN NINGN TIPO DE LIMITACIN CUALQUIERA DE LOS SIGUIENTES DAOS: DIRECTOS, RESULTANTES, EJEMPLARES, INCIDENTALES, INDIRECTOS, ESPECIALES, PUNITIVOS O AGRAVADOS, DAOS POR PRDIDA DE BENEFICIOS O INGRESOS, IMPOSIBILIDAD DE CONSEGUIR LOS AHORROS ESPERADOS, INTERRUPCIN DE LA ACTIVIDAD COMERCIAL, PRDIDA DE INFORMACIN COMERCIAL, PRDIDA DE LA OPORTUNIDAD DE NEGOCIO O CORRUPCIN O PRDIDA DE DATOS, IMPOSIBILIDAD DE TRANSMITIR O RECIBIR CUALQUIER DATO, PROBLEMAS ASOCIADOS CON CUALQUIER APLICACIN QUE SE UTILICE JUNTO CON PRODUCTOS Y SERVICIOS DE RIM, COSTES DEBIDOS AL TIEMPO DE INACTIVIDAD, PRDIDA DE USO DE LOS PRODUCTOS Y SERVICIOS DE RIM O PARTE DE L O DE CUALQUIER SERVICIO DE USO, COSTE DE SERVICIOS SUSTITUTIVOS, COSTES DE COBERTURA, INSTALACIONES O SERVICIOS, COSTE DEL CAPITAL O CUALQUIER OTRA PRDIDA MONETARIA SIMILAR, TANTO SI DICHOS DAOS SE HAN PREVISTO O NO, Y AUNQUE SE HAYA AVISADO A RIM DE LA POSIBILIDAD DE DICHOS DAOS. EN LA MEDIDA MXIMA EN QUE LO PERMITA LA LEY DE SU JURISDICCIN, RIM NO TENDR NINGN OTRO TIPO DE OBLIGACIN O RESPONSABILIDAD CONTRACTUAL, EXTRACONTRACTUAL O CUALQUIER OTRA, INCLUIDA CUALQUIER RESPONSABILIDAD POR NEGLIGENCIA O RESPONSABILIDAD ESTRICTA. LAS LIMITACIONES, EXCLUSIONES Y DESCARGOS DE RESPONSABILIDAD SE APLICARN: (A) INDEPENDIENTEMENTE DE LA NATURALEZA DE LA CAUSA DE LA ACCIN, DEMANDA O ACCIN SUYA, INCLUIDA PERO NO LIMITADA AL INCUMPLIMIENTO DEL CONTRATO, NEGLIGENCIA, AGRAVIO, EXTRACONTRACTUAL, RESPONSABILIDAD ESTRICTA O CUALQUIER OTRA TEORA DEL DERECHO Y DEBERN SOBREVIVIR A UNO O MS INCUMPLIMIENTOS ESENCIALES O AL INCUMPLIMIENTO DEL PROPSITO ESENCIAL DE ESTE CONTRATO O CUALQUIER SOLUCIN CONTENIDA AQU; Y (B) A RIM Y A SUS EMPRESAS AFILIADAS, SUS SUCESORES, CESIONARIOS, AGENTES, PROVEEDORES (INCLUIDOS LOS PROVEEDORES DE SERVICIOS DE USO), DISTRIBUIDORES AUTORIZADOS POR RIM (INCLUIDOS TAMBIN LOS PROVEEDORES DE SERVICIOS DE USO) Y SUS RESPECTIVOS DIRECTORES, EMPLEADOS Y CONTRATISTAS INDEPENDIENTES. ADEMS DE LAS LIMITACIONES Y EXCLUSIONES MENCIONADAS ANTERIORMENTE, EN NINGN CASO NINGN DIRECTOR, EMPLEADO, AGENTE, DISTRIBUIDOR, PROVEEDOR, CONTRATISTA INDEPENDIENTE DE RIM O CUALQUIER AFILIADO DE RIM ASUMIR NINGUNA RESPONSABILIDAD DERIVADA DE O RELACIONADA CON LA DOCUMENTACIN. Antes de instalar, usar o suscribirse a cualquiera de los Productos y servicios de terceros, es su responsabilidad asegurarse de que su proveedor de servicios de uso ofrezca compatibilidad con todas sus funciones. Puede que algunos proveedores de servicios de uso no ofrezcan las funciones de exploracin de Internet con una suscripcin al servicio BlackBerry Internet Service. Consulte con su proveedor de servicios acerca de la disponibilidad, arreglos de itinerancia, planes de servicio y funciones. La instalacin o el uso de los Productos y servicios de terceros con productos y servicios de RIM puede precisar la obtencin de una o ms patentes, marcas comerciales, derechos de autor u otras licencias para evitar que se vulneren o violen derechos de terceros. Usted es el nico responsable de determinar si desea utilizar Productos y servicios de terceros y si se necesita para ello cualquier otra licencia de terceros. En caso de necesitarlas, usted es el nico responsable de su adquisicin. No instale o utilice Productos y servicios de terceros hasta que se hayan adquirido todas las licencias necesarias. Cualquier tipo de Productos y servicios de terceros que se proporcione con los productos y servicios de RIM se le facilita para su comodidad "TAL CUAL" sin ninguna condicin expresa e implcita, aprobacin, garanta de cualquier tipo por RIM y RIM no sume
54

Gua de referencia rpida

Aviso legal

ninguna responsabilidad en relacin con ello. El uso de los Productos y servicios de terceros se regir y estar sujeto a la aceptacin de los trminos de licencias independientes aplicables en este caso con terceros, excepto en los casos cubiertos expresamente por una licencia u otro acuerdo con RIM. Algunas funciones mencionadas en esta documentacin requieren una versin mnima del software de BlackBerry Enterprise Server, BlackBerry Desktop Software y/o BlackBerry Device Software. Los trminos de uso de cualquier producto o servicio de RIM se presentan en una licencia independiente o en otro acuerdo con RIM que se aplica en este caso. NINGUNA PARTE DE LA PRESENTE DOCUMENTACIN EST PENSADA PARA PREVALECER SOBRE CUALQUIER ACUERDO EXPRESO POR ESCRITO O GARANTA PROPORCIONADA POR RIM PARA PARTES DE CUALQUIER PRODUCTO O SERVICIO DE RIM QUE NO SEA ESTA DOCUMENTACIN.

Research In Motion Limited 295 Phillip Street Waterloo, ON N2L 3W8 Canad Research In Motion UK Limited Centrum House 36 Station Road Egham, Surrey TW20 9LF Reino Unido Publicado en Canad

55

You might also like