Спецификация для класса javax.microedition.lcdui.Form
(который, как я полагаю, является тем, что вы используете) гласит:
"Эти операции обхода и прокрутки не вызывают видимых приложению событий"
Также не вызывается метод до отображения командного меню.
Все это означает, что вы не можете делать то, что хотите, используя форму.
В зависимости от реализации J2ME на конкретном телефоне, на который вы ориентируетесь, javax.microedition.lcdui.CustomItem.getInteractionModes()
может сказать вам, можете ли вы использовать один CustomItem в вашей форме для создания контекстного меню.
Единственный надежный способ сделать это на всех телефонах - это использовать javax.microedition.lcdui.Canvas
и заново реализовать необходимые элементы управления, нарисовав их самостоятельно. Затем вы можете отслеживать, какой из них «выбран», и заполнять свое собственное командное меню, прежде чем отображать его в ответ на события низкого уровня keyPressed()
.
Возможно, вы захотите поискать в библиотеке с открытым исходным кодом LWUIT
промежуточное решение.