Classe com Estilos LWUIT

Estou com uma dúvida simples, JAVA básico mesmo, mas não consigo resolver.

Estou fazendo (tentando) uma aplicação com J2ME, utilizando a biblioteca LWUIT. Tenho um MIDlet e as demais classes javas (essas possuem os forms, os commands, etc).

Pra mim criar um estilo para um componente Botão, por exemplo, faço assim:

Style bStyle = new Style(); bStyle.setBgColor(0xFFFFFF); bStyle.setMargin(0, 5, 2, 2); bStyle.setPadding(5, 5, 5, 5); bStyle.setBorder(Border.createRoundBorder(8, 8)); bStyle.setBgSelectionColor(0x000000); bStyle.setFgSelectionColor(0xFFFFFF);

e no botão:

final Button botao = new Button("Botão Formatado"); botao.setAlignment(Label.CENTER); botao.setStyle(bStyle); //defino o estilo dele meuFormulario.addComponent(botao);

Gostaria de poder reaproveitar esse estilo criado nas demais telas do sistema. Pensei em criar uma classe Estilos(), onde eu instancio ela e chamo seus respectivos métodos, que me retornam um Style especifico.
Queria chamar, por exemplo
botao.setStyle(new Estilos().getEstiloBotao()); //por exemplo

Ainda penso de maneira estruturada para resolver um problema fácil desses, por isso não estou conseguindo entender como fazer.

Agradeço desde já qualquer ajuda.

poxa vida, acho ruim insistir num post dessa forma, mas queria muito resolver isso.
alguma idéia?

[quote=joellazzari]poxa vida, acho ruim insistir num post dessa forma, mas queria muito resolver isso.
alguma idéia?[/quote]

Você está no fórum errado. Você está pagando o preço por se aventurar com uma tecnologia nova e que poucos aqui no Brasil mexem com ela, até por não ser viável para a nossa realidade.Por isto estou te indicando o fórum internacional onde é o local certo onde tudo relacionado a esta LWUIT pode ser perguntado:

http://forums.java.net/jive/forum.jspa?forumID=139

E um ‘viva’ ao LCUID !

[quote=boone][quote=joellazzari]poxa vida, acho ruim insistir num post dessa forma, mas queria muito resolver isso.
alguma idéia?[/quote]

Você está no fórum errado. Você está pagando o preço por se aventurar com uma tecnologia nova e que poucos aqui no Brasil mexem com ela, até por não ser viável para a nossa realidade.Por isto estou te indicando o fórum internacional onde é o local certo onde tudo relacionado a esta LWUIT pode ser perguntado:

http://forums.java.net/jive/forum.jspa?forumID=139

E um ‘viva’ ao LCUID ![/quote]

Desculpe minha ignorância, mas o por que LWUIT não é adequado a nossa realidade?, sempre pensei que pelo fato dos celulares estarem mais poderosos e modernos o desenvolvimento de aplicativos para esse segmento seria menos doloroso nos dias de hoje do que a uns 2 anos atrás… Poderia explicar melhor os porém de se utilizar o LWUIT na nossa realidade?

[quote=laudenpower][quote=boone][quote=joellazzari]poxa vida, acho ruim insistir num post dessa forma, mas queria muito resolver isso.
alguma idéia?[/quote]

Você está no fórum errado. Você está pagando o preço por se aventurar com uma tecnologia nova e que poucos aqui no Brasil mexem com ela, até por não ser viável para a nossa realidade.Por isto estou te indicando o fórum internacional onde é o local certo onde tudo relacionado a esta LWUIT pode ser perguntado:

http://forums.java.net/jive/forum.jspa?forumID=139

E um ‘viva’ ao LCUID ![/quote]

Desculpe minha ignorância, mas o por que LWUIT não é adequado a nossa realidade?, sempre pensei que pelo fato dos celulares estarem mais poderosos e modernos o desenvolvimento de aplicativos para esse segmento seria menos doloroso nos dias de hoje do que a uns 2 anos atrás… Poderia explicar melhor os porém de se utilizar o LWUIT na nossa realidade?[/quote]

Simples: A grande massa de celulares hoje no país ainda é MIDP 1.0.O cenário vem mudando na medida que os 2.0 ficaram mais acessíveis.
Celulares parrudos são poucos, frente a maioria dos que estão por aí. LWUIT só é indicado para estes. Um exemplo de um que aguenta: Nokia N95 (também né, tem acelerador gráfico). Outro motivo é o peso que o uso do LWUIT trás a aplicação. Uma simples aplicação fica enorme devido ao inchamento do JAR por conta da biblioteca que é embutida. Coloque isto para o usuário fazer o download por GPRS e vc fará a alegria das operadoras, já que elas vão adorar que você trafego tantos bytes assim, para te cobrar proporcionalmente.

Lá fora, os planos de dados são mais justos, aqui no Brasil, a navegação na internet pelo celular não explode pq:

  • As operadoras cobram caro
  • Elas não tem infra para aguentar tanto acesso se cobrar barato.

É o efeito Tostines.

Veja o que aconteceu ao serviço da Claro de banda-larga (3G). Pelo Google vc verá a quantidade de reclamações e que tiveram que suspender venda de modems por conta da rede não estar ainda madura para aguentar a demanda que veio procurando o bichinho para ser ligado a notebooks.

[quote=boone][quote=laudenpower][quote=boone][quote=joellazzari]poxa vida, acho ruim insistir num post dessa forma, mas queria muito resolver isso.
alguma idéia?[/quote]

Você está no fórum errado. Você está pagando o preço por se aventurar com uma tecnologia nova e que poucos aqui no Brasil mexem com ela, até por não ser viável para a nossa realidade.Por isto estou te indicando o fórum internacional onde é o local certo onde tudo relacionado a esta LWUIT pode ser perguntado:

http://forums.java.net/jive/forum.jspa?forumID=139

E um ‘viva’ ao LCUID ![/quote]

Desculpe minha ignorância, mas o por que LWUIT não é adequado a nossa realidade?, sempre pensei que pelo fato dos celulares estarem mais poderosos e modernos o desenvolvimento de aplicativos para esse segmento seria menos doloroso nos dias de hoje do que a uns 2 anos atrás… Poderia explicar melhor os porém de se utilizar o LWUIT na nossa realidade?[/quote]

Simples: A grande massa de celulares hoje no país ainda é MIDP 1.0.O cenário vem mudando na medida que os 2.0 ficaram mais acessíveis.
Celulares parrudos são poucos, frente a maioria dos que estão por aí. LWUIT só é indicado para estes. Um exemplo de um que aguenta: Nokia N95 (também né, tem acelerador gráfico). Outro motivo é o peso que o uso do LWUIT trás a aplicação. Uma simples aplicação fica enorme devido ao inchamento do JAR por conta da biblioteca que é embutida. Coloque isto para o usuário fazer o download por GPRS e vc fará a alegria das operadoras, já que elas vão adorar que você trafego tantos bytes assim, para te cobrar proporcionalmente.

Lá fora, os planos de dados são mais justos, aqui no Brasil, a navegação na internet pelo celular não explode pq:

  • As operadoras cobram caro
  • Elas não tem infra para aguentar tanto acesso se cobrar barato.

É o efeito Tostines.

Veja o que aconteceu ao serviço da Claro de banda-larga (3G). Pelo Google vc verá a quantidade de reclamações e que tiveram que suspender venda de modems por conta da rede não estar ainda madura para aguentar a demanda que veio procurando o bichinho para ser ligado a notebooks.[/quote]

Análise interesssante, é melhor esperar a coisas aqui amadurecerem mais…

embalado na discussão de vocês, fiz uma simulação aqui, do aplicativo que estamos desenvolvendo:

O .jar vai ficar por volta de 500KB (LWUIT, Floggy, imagens, MIDlet e demais classes).
Imagino que nesse ponto terei um tráfego inicial, a primeira instalação do aplicativo no celular.

Vamos importar do servidor para o celular:
Clientes (codigo + nome)
Produtos (codigo + descricao + unidade_medida + preco_venda)

Simulação: Importar 500 Clientes e 2000 Produtos
Clientes = 14,5kb
Produtos = 97,6kb

TOTAL = 112,1kb

obs: a necessidade do cliente é 1/3 disso, ficaria em torno de 37,4kb.

Presumo, nesse ponto, que terei esse tráfego de download diário (uma vez por dia antes do vendedor sair).

Não simulei ainda a questão do envio dos dados e o custo desse processo na operadora.

O que acham dessas condições e desses números? em ambiente de produção?

ps. vocês mudaram o rumo do tópico, se tiverem como dar uma olhada na minha dúvida inicial eu agradeço! (é pra ser uma dúvida básica de OO).

Cara o que eu faria, como é um método (comportamento) que você que reaproveitar em varias partes do teu código.
Ou tu faz esse método estático (fazendo todas as suas pendências) e tu não vai precisar criar varias instâncias da classe, basta colocar o nome da classe (.) o método estático.
Pode criar uma Classe abstrata com esse método já implementado. Ae tu usa herança de classe.
Ou por ultimo, cria uma interface que implementa esse comportamento. Ae basta vc usar implements e aproveitar o comportamento.