Eu to começando no lwuit tambem e nem tenho mta experiencia mas já deu pra eu sakar o seguinte:
1- Voce nao carrega sua aplicação no resource editor, esse editor é pra fazer tipo a capa do programa (skin) não da pra adicionar textbox, labels, etc…
2- Experimenta abrir um .res que fica dentro de alguma pasta do diretorio LwuitDEMO (algo asssim) para ver como funciona as propriedades de cada item.
3- Aquela tela que fica do lado direito não é a demonstração do programa em execução e sim uma forma de selecionar e/ou visualizar os controles como eles ficariam…
Por enquanto é só isso que eu tenho em mente mas nesse fim de semana vou dar mais uma estudada…
Qualquer duvida, respoonda…
JNTHS.
vanessasouza
humm.
Entao como poderia fazer capa para meu programa?
Tenho a base do programa pronto.
Ao criar um tema no resource Editor e salvar ele gera um .res como faço pra usar ele no meu código.
valeu
pedrotaek
Oi pessoal!
Eu também estou usando lwuit, e estou tendo problemas com os layouts, o único que deu certinho foi o BoxLayout que exibe os componentes em uma linha, porém ocupando a linha toda na tela do celular, tentei o FlowLayout para colocar lado a lado, mas ainda não é bem o que eu quero, eu quero, criei apenas um cadastro de perfil, estou usando somente TextFields e Labels, mas o BoxLayout estica cada um dos componentes para ocupar em uma linha inteira na tela do celular. Não estou conseguindo colocar os TextFields um do lado do outro e gostaria de saber como posso fazer isto sem deixar de usar o BoxLayout. Existe uma maneira de criar mais de um Container na tela do celular, isso facilitaria e muito pra trabalhar com a adição dos componentes e alinhação deles.
:?: :?: :?:
Abração!
vanessasouza
Consegui resolver.
A solução é a seguinte:
Para criar um novo tema no LWUIT faça o seguinte:
Inicie o resource editor.
Selecione o menu File/New para criar um arquivo .RES.
Pressione o botão com o símbolo +, informe o tipo “Theme” e dê um nome para o novo tema.
Agora, é só definir os valores das propriedades dos objetos (Buttom, list e etc).
Selecione File/Save para salvar o arquivo.
No MIDLet inclua as duas linhas abaixo para carregar o tema e coloque o arquivo salvo na pasta res do eclipse:
Resourcesr=Resources.open("/<nome do arquivo que contém o tema>");UIManager.getInstance().setThemeProps(r.getTheme("<nome do tema>"));
Pronto! Sua aplicação já está trabalhando com o tema que você acabou de criar.
Lembre-se de utilizar a última versão do LWUIT, até porque a penúltima versão estava cheia de bugs no resource editor.
Z
zerotrack
Uma coisa que eu to achando meio diferente é o List, agora eu tenho que criar um List e um DefaultListModel, mas ainda to na duvida para colocar na lista vários checkbox…
C
cassiojoselito
Ola a todos ! Estou com um probleminha quem sabe vcs podem me ajudar.
Ja fiz todo o recomendado e mesmo assim não consigo carregar o tema no lwuit, ja criei o tema no resource editor, copiei o tema criado no resource editor pra pasta res do meu projeto, o LWUIT.jar ja esta na pasta lib, e devidamente configurado no eclipse.
Estou usando o eclipse pulsar galileo sr2
O LWUIT.JAR do LWUIT 1.4
o codigo segue abaixo:
Resources r = Resources.open("res/tema1.res");
UIManager.getInstance().
setThemeProps(r.getTheme("tema1"));
e o codigo so erro segue abaixo:
Running with storage root C:\Users\cassio\j2mewtk\2.5.2\appdb\DefaultColorPhone
Running with locale: Portuguese_Brazil.1252
Running in the identified_third_party security domain
java.io.IOException: res/tema1.res not found
at com.sun.lwuit.util.Resources.open(+41)
at HelloMidlet.startApp(+9)
at javax.microedition.midlet.MIDletProxy.startApp(+7)
at com.sun.midp.midlet.Scheduler.schedule(+270)
at com.sun.midp.main.Main.runLocalClass(+28)
at com.sun.midp.main.Main.main(+80)
Execution completed.
3549797 bytecodes executed
1035 thread switches
1747 classes in the system (including system classes)
33888 dynamic objects allocated (1678400 bytes)
142 garbage collections (1558808 bytes collected)
Z
zerotrack
Esse erro é porque o LWUIT não está achando o arquivo .res.
Tenta ir colcoando umas variações do tipo
/Tema.res
…/Tema.res
…/res/Tema.res
/res/Tema.res
Enfim… O erro é provavelmente esse. No meu caso, quando estou fazendo uma aplicação no LWUIT eu coloco o .res no diretorio raiz, e não no /res … dai é só colocar:
res = Resources.open("/Tema2.res");
Espero que ajude…
:idea:
C
cassiojoselito
Coloquei na raiz e agora o erro que apontava para a linha: Resources r = Resources.open("/tema1.res");
aponta para 2 linhas abaixo.
segue o codigo:
importcom.sun.lwuit.Display;importcom.sun.lwuit.Form;importcom.sun.lwuit.Label;importcom.sun.lwuit.layouts.BorderLayout;importcom.sun.lwuit.plaf.UIManager;importcom.sun.lwuit.util.Resources;publicclassHelloMidletextendsjavax.microedition.midlet.MIDlet{publicvoidstartApp(){//init the LWUIT DisplayDisplay.init(this);// Setting the application theme is discussed// later in the theme chapter and the resources chaptertry{Resourcesr=Resources.open("/tema1.res");UIManager.getInstance().setThemeProps(r.getTheme("tema1"));}catch(java.io.IOExceptione){e.printStackTrace();}Formf=newForm();f.setTitle("Hello World");f.setLayout(newBorderLayout());f.addComponent("Center",newLabel("I am a Label"));f.show();}publicvoidpauseApp(){}publicvoiddestroyApp(booleanunconditional){}}
Running with storage root C:\Users\cassio\j2mewtk\2.5.2\appdb\DefaultColorPhone
Running with locale: Portuguese_Brazil.1252
Running in the identified_third_party security domain
startApp threw an Exception
java.lang.NullPointerException
java.lang.NullPointerException
at com.sun.lwuit.plaf.UIManager.buildTheme(+1)
at com.sun.lwuit.plaf.UIManager.setThemePropsImpl(+52)
at com.sun.lwuit.plaf.UIManager.setThemeProps(+11)
at HelloMidlet.startApp(+22)
at javax.microedition.midlet.MIDletProxy.startApp(+7)
at com.sun.midp.midlet.Scheduler.schedule(+270)
at com.sun.midp.main.Main.runLocalClass(+28)
at com.sun.midp.main.Main.main(+80)
Execution completed.
3498778 bytecodes executed
33 thread switches
1740 classes in the system (including system classes)
31958 dynamic objects allocated (1602056 bytes)
131 garbage collections (1494676 bytes collected)
Z
zerotrack
Ao que tudo indica, parece que o erro é no nome do resource dentro do res.... saka???
Tipo quando vc cria um tema, tem q colocar um nome nele, tem certeza que é tema1 mesmo ???
E Outra coisa... pra testar tira aquela parte de Form e talz... deixa só o try com o res....
Obrigado vou tentar, esse e o nome que eu salvei o arquivo.res
substitui o nome do tema pelo codigo que pega o nome de acordo com o codigo que vc me passou e o errro mudou:
Running with storage root C:\Users\cassio\j2mewtk\2.5.2\appdb\DefaultColorPhone
Running with locale: Portuguese_Brazil.1252
Running in the identified_third_party security domain
startApp threw an Exception
java.lang.ArrayIndexOutOfBoundsException
java.lang.ArrayIndexOutOfBoundsException
at HelloMidlet.startApp(+19)
at javax.microedition.midlet.MIDletProxy.startApp(+7)
at com.sun.midp.midlet.Scheduler.schedule(+270)
at com.sun.midp.main.Main.runLocalClass(+28)
at com.sun.midp.main.Main.main(+80)
Execution completed.
3454648 bytecodes executed
33 thread switches
1740 classes in the system (including system classes)
31833 dynamic objects allocated (1596456 bytes)
131 garbage collections (1494164 bytes collected)
Como parece estar tudo certo vou fazer tudo de novo desde o começo em outro pc.
Z
zerotrack
Blz…mas é muito provavel que seja o resource do LWUIT com problema… ArrayIndexOutOfBounds significa que o indice 0 não existe… então seu arquivo .res não tem nenhum tema dentro dele…
Pega aquele tema classico do LWUIT (um laranja) acho que se chama LWUITTheme.res coloca ele no lugar do seu e testa…
C
cassiojoselito
Ok vou tentar
C
cassiojoselito
Ta dando umas mensagem do jdk cada vez mais frequente .Acho que eu vou tentar andar um pouco com o projeto usando o netbeans, tava usando ele mas começou a dar uns pau no display ai mudei pro eclipse. obrigado mesmo assim pela ajuda e atenção boa sorte.
C
cassiojoselito
Então um outro projeto que tem pronto na net sobre lwuit roda bonito. deve ser alguma configuração do projeto
C
cassiojoselito
usei um tema ja pronto e nada
C
cassiojoselito
agora não da erro mas tambem não carrrega…
C
cassiojoselito
Descobri valeu velho, apesar que vc deixou eu sofrer um pouquinho rs, mas pelo menos eu não estava sozinho,
Então o problema era o seguinte vc mandou eu por o tema na raiz certo ?
e onde é a raiz ?
foi o que eu descobri
a raiz e a pasta src
ai coloca se o tema na pasta src
e o codigo fica assim :
Resources r = Resources.open("/theme.res");
UIManager.getInstance().setThemeProps(r.getTheme(
r.getThemeResourceNames()[0])
);
Felipe_FM_Mobile
[size=12][size=18]Olá Galera,
Lendo o tópico vou contribuir com algumas dicas que fui descobrindo , lendo também o tutorial que vem com o LWUIT:
Sobre o Res, o local ideal para o arquivo é dentro do diretório src (estou com a NetBeans)
Para fazer um res de imagens, você deve configurar o build.xml (mas não indico fazer isso, pois ocupa memória) [/size][/size]