Captura de Tecla num componente Screen

Bom pessoal, já procurei várias vezes descobrir uma maneira de capturar um evento de tecla
dentro de um List, mas parece que é impossível. Mas eu ainda estou insistindo nisto porque
me recuso a acreditar que vou ter que desenhar uma lista na tela utilizando a classe Canvas
só pra poder saber quando uma tecla qualquer (que não seja um Command) foi pressionada, já que seria muito mais fácil criar uma lista de opções com um List.

Alguém pode me dar um pingo de esperança?

ta, vc esta usando o componente JList???
Se sim vc pode fazer:

JList lista = new JList();
lista.addKeyListener(new KeyAdapter()
{
    public void keyPressed(KeyEvent e)
    {
        System.out.println(e.getKeyCode());

        if (e.getKeyCode() == KeyEvent.VK_ENTER)
        {
            ....
        }
    }
}

ou se vc quizer capturar todas as teclas pressionadas no sistema nao importando onde vc pode usar:

KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(new KeyEventDispatcher()
{
	public boolean dispatchKeyEvent(KeyEvent e)
	{
		boolean retorno = false;
			
		if (e.getID() == KeyEvent.KEY_PRESSED)
		{
			if (e.getKeyCode() == KeyEvent.VK_ENTER)
			{
			}
		}
		return retorno;
	}
});

vlw

Bom, gersonlange, isso daria certo se eu estivesse trabalhando com JSE mas a minha aplicação é pra celular, ou seja, utilizo o JME, que é muito restrito em relação ao JSE.

Pessoal, preciso urgentemente saber se há como fazer o que eu preciso sem utilizar a classe Canvas. Se alguém souber, por favor me fale. Até +.

pow, desculpa ai… nao tinha lido em q topico era…

flw

ferreira45

olá estou tentando a mesma coisa
mas também está difícil de encontrar… o que você está querendo mostrar ?
eu estou tentando fazer uma consulta SQL em meu banco de dados através
de um SERVLET ontem a noite consegui fazer a primeira consulta mas
somente consegui jogar o resultado da minha busca SQL na própria FORM
queria mostar este resultado em um list para poder fazer a seleção de apenas um item listado
alguém tem alguma idéia de como fazer isso ? e se é possível ?

gostaria de saber se tem alguém tem algum exemplo mais fácil de
fazer comunicação de aplicação J2ME com SERVLET ?

pessoal agradeço muito se poderem me ajudar !!!

[quote=ferreira45]Bom, gersonlange, isso daria certo se eu estivesse trabalhando com JSE mas a minha aplicação é pra celular, ou seja, utilizo o JME, que é muito restrito em relação ao JSE.

Pessoal, preciso urgentemente saber se há como fazer o que eu preciso sem utilizar a classe Canvas. Se alguém souber, por favor me fale. Até +.[/quote]

Então você vai ter que desenhar o seu próprio List e tratar a lógica de teclado. Para isto estude a classe CustomItem.

VALEU boone, não sei nem como agradecer, tava precisando muito dessa resposta, vou começar a estudar hoje mesmo. OBRIGADO!!!

Vc pode desenhar uma list sua usando um Canvas, que vai ficar tela inteira como a List normal, ou usando um CustomItem, que daí vc pode adicionar em um Form. Com ambos vc terá que desenhar o componente com java 2d.

Outra opção, e que deve ficar mais bonito e acho que é um pouco mais fácil, é usar gráficos SVG, mas não usei ainda então não sei como é bem certo.

Tem o J2ME Polish, que não tenho certeza, mas acho que permite pegar o evento de tecla, pois ele implementa todos os componentes padrão usando o tal do CustomItem, e ainda te permite usar estilos CSS e outras coisas muito legais. O problema é que pra fazer ele funcionar é trabalhoso, acho quese gostar da idéia pede aí que eu te dou uma ajuda, estou tentando resolver meus ultimos problemas com ele, mas já tive vários. Eu integrei com o Netbeans com um plugin deles, talvez compilando só com ANT seja mais fácil.

ai gente
muito legal a experiência d vcs
não sabia de todos esses problemas
heheheheheeh
vou fica mais esperta agora
obriga por compartilhar os conhecimentos ai
depois postem os resultados
valeu?!
até

Bom dia galera.

Amigo Gustavo Paulo será que vc poderia me dar uma forca em instalar o J2ME Polish com o NetBeans pois so ta faltando eu faze umas Mandinga aqui pra ele :smiley: funcionar.

Obrigado pela sua atenção

Olá,
faça o seguinte:
baixe o plugin pro Netbeans no site deles, instale conforme as instruções, pode ter que reiniciar o netbeans varias vezes, quando der certo vai ter pra criar projeto do Polish na categoria mobile.

Recomendo começar usando um projeto de exemplo deles, de preferência o Menu, durante a criação do projeto ele vai pedir pra selecionar os dispositivos, nas capacidades do dispositivo selecione o que quiser, de preferencia só os básicos(eu pego cldc 1.1 e midp 2.0) e em baixo selecione um dispositivo padrão, como Default Color Phone, pros específicos acho que precisa do emulador deles.

Depois vem a tela que vc escolhe o modelo, lá vc escolhe Menu e identifica seu emulador, se nas suas plataformas(ferramentas->gerenciamento da plataforma java) tiver o Wireless Toolkit 2.2, ele vem por padrão, se for outro copia o nome e cola lá. As vezes tem um bug meio estranho que nao cria o projeto, por mais estranho que pareça, aqui parece que funciona quando eu eu dou um clique rápido no finalizar.

Se tiver problemas de referência: Se sua plataforma não é a padrão, vá em propriedades do projeto, desmarque a opção de usar os valores Default e escolha a que vc usou, ou faça o contrário caso ele não esteja marcado. Não sei bem certo pq é um comportamento anormal, mas tenta que de algum jeito funciona.

Depois, vá na pasta onde vc instalou o Polish e ache "samples", lá ache o projeto que vc usou(Menu), e copie o build-netbeans.xml, aí no seu projeto vc apaga o build.xml, cola o buil-netbeans e renomeia ele pra build.

Vá em resources, abra o polish.css(com algum programa para editar), procure algo com a palavra "carrousel", apague todas as linhas em que ela aparecer(ou substitua se vc entender como funciona o css dele, não é bem igual css normal).

Neste ponto ele deve compilar e rodar o exemplo.

Mais algumas dicas: não crie classes padrão do J2SE, como ArrayList por exemplo, ele confunde com as classes dele na hora de gerar o código.

Bom, tá aí o mini-tutorial "resolvendo problemas com o J2ME Polish" :smiley:

Espero que ajude.

Instalei o polish mais quando crio o projeto ele nao aparece na paleta
ai vou na pasta e tento abrir ele ele da o seguinte erro
Erro em project.xml: The value ‘Generic/DefaultColorPhone’ of element ‘configuration’ is not valid.

oque pode ser?

Faz tempo que não mexo com o Polish e nem MIDP, então estou bem perdido quanto a isso, mas me parece ser uma dessas coisas:

  • Um bug do Polish ou do plugin de integração com o Netbeans, nesse caso, tente repetir o processo de criação do projeto várias vezes, teste algumas configurações diferentes e, por mais estranho que pareça, pra mim parecia funcionar quando eu dava um clique rápido no finalizar, e se nao me engano era melhor nao alterar nada na combo que aparecia na ultima tela da criaçao do projeto.

  • Seu wireless toolkit não está corretamente instalado ou ele não está encontrando ele, tente reinstalar e fazer os passos que eu falei no outro post pra configurar o Polish pra usar ele

  • Você fez o passo de substituir o build.xml? sem fazer isso nao funcionou pra mim pelo que eu me lembre

  • Tente algum outro dispositivo, ou veja se tem mais de um lugar para selecionar o dispositivo, o lugar certo acho que é o que for mais especifico do Poish e nao do NetBeans

A ultima vez que mexi com ele foi bem problemático, foi a melhor opção que encontrei no momento, mas não achei viável. A aplicação que eu quis testar talvez fosse dinamica demais, mas até com os exemplos dele dava problema…