Как обрабатывать нажатия клавиш в приложении J2ME GUI - PullRequest
0 голосов
/ 19 декабря 2008

Я запрограммировал пульт дистанционного управления Bluetooth для телевизора в J2ME, используя javax.microedition.lcdui.* (Gauge, List, ChoiseGroup) GUI-элементы.

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

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

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

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

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

Ответы [ 4 ]

2 голосов
/ 19 декабря 2008

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

1 голос
/ 19 декабря 2008

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

0 голосов
/ 23 декабря 2008

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

0 голосов
/ 19 декабря 2008

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

...