Olá estou com uma duvida, possuo esta tela abaixo e gostaria de no momento em que esta tela fosse exibida o focus fosse para a tabela, pq de inicio ela esta indo para o campo cpf, alguem sabe me dizer como mudar o focus de uma tela? Obrigado.
opa,
então cara faz o seguinte: em vez de vc dar o display no Form usando “getDisplay().setCurrent(form);” dá um display no Item, assim: “getDisplay().setCurrentItem(item)”. Esse setCurrentItem só vai funcionar se o Item já estiver adicionado a um Displayable, se não estiver ele não funciona. O que ele faz é basicamente igual ao setCurrent só que ele mostra o displayable que contém o Item passado como argumento e de quebra foca o Item.
acho que isso deve resolver seu problema…
t+
Amigo, valeu pela ajuda, resolveu meu problema, há tu sabe me dizer como eu faço para que no momento em que eu estiver em cima de um textfield por exemplo e clicar o botão do meio do celular (select) ou o botão 5 ele por exemplo limpe o textfield? é que eu quero trabalhar com eventos. Eu sei que se eu utilizar um canvas posso utilizar o keypressed assim pego o nome ou codigo da tecla pressionada, mas no momento eu to com um form, e não da pra extender ele pra canvas para fazer uso deste recurso, ai estou pedindo ajuda para um outra idéia.
opa, então o que vc poderia fazer é adicionar um Command ao TextField. Se vc der uma olha vc vai ver que tem um método addCommand() na classe TextField. O seu midlet deve, também, implementar a classe “ItemCommandListener”. Daí vc implementa o método CommandAction(Command command, Item item). Ele funciona de forma similar ao CommandAction(Command command, Displayable displayable), só que com item. Daí é só verificar o command de qual item tá acionando o método e fazer o tratamento. É bem simples, segue um exemplo:
//Declaração do MIDlet
public class Supremo extends MIDlet implements CommandListener, ItemCommandListener, ItemStateListener {
.
.
.
public void commandAction(Command command, Item item) {
if (item == btProcurar) {
if (command == itemCm) {
if (get_orcTfCodProd().getString().equals("0") || get_orcTfCodProd().getString().equals("")) {
getDisplay().setCurrent(get_consultaArt()); //Abre a tela de consulta de produtos
} else { //caso o código do produto tenha sido inserido
if (busca == null)
busca = new ConsultaProd();
switch (busca.getProd(Integer.parseInt(get_orcTfCodProd().getString()),
"", 0, 0, 0)){ //Busca o item com o código inserido. Se encontrar o coloca em um Vector()
case 0: //nao achou
get_msg().setString("Nenhum produto foi encontrado");
get_orcTfCodProd().setString("");
getDisplay().setCurrent(get_msg(), get_orcAddProd());
break;
case -1: //erro
get_msg().setString("A busca retornou erro");
getDisplay().setCurrent(get_msg(), get_orcAddProd());
break;
case 1:
prodToOrc(0); //'0' será utilizado como índice do Vector de produtos selecinados
break;
}
}
}
} else if (item == orcBtCliente) {
if (command == itemCm) {
get_tfCodFilial().setString("1");
getDisplay().setCurrent(get_ConsultaCli());
}
} else if (item == btBuscarPrazo) {
if (command == itemCm) {
buscarPrazos(get_tfCodPrazo().getString());
}
}
}
.
.
.
ok?
qualquer problema posta ae.
t+
sim mas ai eu fico amarrado ao menu, item. Correto toda vez que eu quiser acionar este evento vou ter que precionar no menu depois item, pois o item vai ficar como um command. Correto?
Bom, eu nunca usei isso com TextField, eu só uso com StringItem. E quando o StringItem está selecionado eu posso tanto ir no menu e selecionar o Command do Item quanto pressionar o botão de ação padrão que também é acionado o Command default do Item. Pra isso funcionar você precisa, de forma similar a um displayable, usar o método setItemCommandListener() e o setDefaultCommand, pois pode ser adicionado mais de um Command para um mesmo item e se faz necessário indicar qual o default pra se poder utilizar o botão de ação.
Segue a forma como uso:
public StringItem get_btProcurar() {
if (btProcurar == null) {
btProcurar = new StringItem(null, "Buscar", Item.BUTTON);
btProcurar.addCommand(get_itemCm()); //get_itemCm() retorna um Command
btProcurar.setItemCommandListener(this);
btProcurar.setLayout(Item.LAYOUT_RIGHT | Item.LAYOUT_NEWLINE_AFTER);
btProcurar.setDefaultCommand(get_itemCm());
}
return btProcurar;
}
Até onde eu entendo isso funciona para qualquer Item. Tenta usar aí com o TextField dessa meneira, se não conseguir me fala que a gente tenta fazer funcionar. 
t+
