//Code sample: Creating a custom context menu
//Example: ContextMenuSample.java
/**
* ContextMenuSample.java
* Copyright (C) 2001-2005 Research In Motion Limited. All rights reserved.
*/
package com.rim.samples.docs.contextmenus;
//1: Creating user interfaces
import net.rim.device.api.i18n.*;
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.system.*;
import com.rim.samples.docs.resource.*;
public class ContextMenuSample extends UiApplication implements ContextMenuSampleResource
{
private MyContextField myContextField;
private static ResourceBundle _resources = ResourceBundle.getBundle(
ContextMenuSampleResource.BUNDLE_ID,
ContextMenuSampleResource.BUNDLE_NAME);
public static void main(String[] args) {
ContextMenuSample app = new ContextMenuSample();
app.enterEventDispatcher();
}
// Inner class to define a new field.
private static class MyContextField extends RichTextField {
private MenuItem myContextMenuItemA = new MenuItem(
_resources, MENUITEM_ONE, 200000, 10) {
public void run() {
onMyMenuItemA();
}
};
private MenuItem myContextMenuItemB = new MenuItem(
_resources, MENUITEM_TWO, 200000, 10) {
public void run() {
onMyMenuItemB();
}
};
private void onMyMenuItemA() {
// Perform an action when user selects menu item.
}
private void onMyMenuItemB() {
// Perform an action when user selects menu item.
}
protected void makeContextMenu(ContextMenu contextMenu) {
contextMenu.addItem(myContextMenuItemA);
contextMenu.addItem(myContextMenuItemB);
}
MyContextField(String text) {
super(text);
}
}
public ContextMenuSample() {
MainScreen mainScreen = new MainScreen();
MyContextField myContextField = new MyContextField("Field label:"); //added double code
mainScreen.add(myContextField);
pushScreen(mainScreen);
}
}
|