Как обрабатывать нажатия клавиш в приложении J2ME GUI

Я запрограммировал Bluetooth-пульт дистанционного управления для мобильных телефонов в J2ME, используя javax.microedition.lcdui.* (Датчик, Список, ChoiseGroup) GUI-Элементы.

Я хочу, чтобы мобильный телефон взаимодействовал с моим телевизором в режиме реального времени, и я хотел бы найти способ немедленной отправки пользовательских входов, выполненных с помощью элементов GUI (например, смена канала или изменение громкости), на телевизор.

Поскольку я хочу взаимодействия с моим телевизором в режиме реального времени, я бы хотел найти способ немедленной отправки пользовательских входов, выполненных с помощью элементов GUI (например, смена канала или изменение громкости), на телевизор.

С помощью javax.microedition.lcdui.Command / CommandListner а также commandAction не будет работать, поскольку они должны распознавать только команды, выбранные с помощью боковых кнопок. Я хотел бы иметь что-то, что может распознать любую нажатую клавишу.

Я обнаружил, что Javax.microedition.lcdui.Canvas.keyPressed может обрабатывать любую клавишу, нажатую на мобильном телефоне, но я не знаю, как заставить Canvas работать с элементами MIDP GUI, такими как Gauge. Они не могут быть добавлены как команды.

Нужно ли искать способ создания интерфейса для этих элементов графического интерфейса, чтобы они работали с Canvas?

4 ответа

Решение

Я сам нашел половину решения, если кому-то интересно: "javax.microedition.lcdui.ItemStateListener". Эта функция может обрабатывать состояния (или изменения состояния) элементов графического интерфейса в реальном времени. Это не keyPress, но это будет работать и для моего приложения.

Согласно этому FAQ вы не можете делать то, что просите. Это касается MIDP 1.0, но я верю, что это также относится и к MIDP 2.0. Если вам нужен только датчик, вы можете легко нарисовать его самостоятельно.

Из того, что я увидел, это можно сделать только с помощью Canvas.

Я настоятельно рекомендую вам либо нарисовать свой калибровочный предмет на объекте Canvas, либо вы следуете совету, данному 19 декабря в 15:00 от "zhengtonic". Я не знаю другого подхода к этой проблеме, я когда-то был там, но использовал первые варианты, предоставленные мной

Другие вопросы по тегам