Auto-Redimensionamento de Telas

Alguem sabe como eu posso Auto-Redimensionar as telas do meu programa…
OBS> j9, SWT, J2ME…

Ou seja… há Pockets que são 240x320…
Mas há os Square - 240x240…
Tem como Auto-Redimensionar???

Pode ser um Scrool Bar também…
Minha tela é 240x320…
numa 240x240 poderia ter um ScroolBar Vertical pra tela…
Po, mas num ta funcionando aqui …
Alguem tem um exemplo

Cara, redimensionar nao tem nao.
Vc ta usando oq?

Remodelei toda a tela pra 240x240 Mesmo…;/
Faze uq
Scroll Bar Funciona, mas traz falta de Usuabilidade, por isso não implantei…
é isso ai…
vlw

é possível fazer isso com canvas?

Cara, na verdade vc nao redimensiona suas telas, apenas posiciona seus componetes de maneira diferente conforme a resolução.

Você pode sim fazer:

1 - redimensionamento.
2 - tela dinamica.
3 - barra de rolagem.

Obviamente deve estar usando canvas para isso, lembrando que não recomendo o desenho direto no método “paint” devido ao custo de processamento, assim deve-se desenhar em um buffer (Image) e no paint só desenhar o buffer no contexto grafico.

Exemplos:

1 - Redimensionar uma tela, quando for escrever no contexto grafico da tela de um “resize”, pronto vai ficar do tamanho da tela (Mas pode distorcer).
2 - tela dinamica, não posisione os objetos usando seu valores absolutos [(x,y) = posições reais] em resoluções tela de [240x240, x=10, y=10]. ao invéz disso faça as contas de acordo com a resolução, tanto para posições x e y, quanto para larguras e alturas. (Diminui a distorção mas é mais complicado.
3 - Barra de rolagem, não redimensione o buffer ao invéz disso faça uma barra na mão. (esta é a solução mais simples, mas pode ser complicado achar uma interação simples para o usuario).

Acho que fui claro…
Ricoldi

Olha, não recomendo nenhuma dessas operações por problemas bem comuns…
Barra de rolagem( nenhum usuário gosta de ficar indo pra cima e pra baixo numa tela) muito ruim, pouco pratico, falta de Usuabilidade;
Resize(); Funciona sim, mas a fonte de botoes e labels tem um limite, apesar de o botao diminuir, por exemplo, a letra vai ficar igual, podendo ficar maior que o botao (FAIL!)
a melhor coisa possivel a se fazer é você desenhar todo seu programa de acordo com as telas…
o código é o mesmo, e desenhar telas é facil…
Desenhe uma pra 240x240, uma pra 240x320…
e assim por diante…
é o que eu recomento.
OBS> Pensando sempre no Cliente…
não faça o mais prático para você, faça o mais pratico para o usuário

[quote=Scoobydoo]Olha, não recomendo nenhuma dessas operações por problemas bem comuns…
Barra de rolagem( nenhum usuário gosta de ficar indo pra cima e pra baixo numa tela) muito ruim, pouco pratico, falta de Usuabilidade;
Resize(); Funciona sim, mas a fonte de botoes e labels tem um limite, apesar de o botao diminuir, por exemplo, a letra vai ficar igual, podendo ficar maior que o botao (FAIL!)
a melhor coisa possivel a se fazer é você desenhar todo seu programa de acordo com as telas…
o código é o mesmo, e desenhar telas é facil…
Desenhe uma pra 240x240, uma pra 240x320…
e assim por diante…
é o que eu recomento.
OBS> Pensando sempre no Cliente…
não faça o mais prático para você, faça o mais pratico para o usuário[/quote]

Criar uma interface para cada resolução? Aí é demais tbm, antes faça como o ricoldi falou, desenhe os componentes conforme a resolução.

¬¬ foi uq eu falei

[quote=Scoobydoo]Olha, não recomendo nenhuma dessas operações por problemas bem comuns…
Barra de rolagem( nenhum usuário gosta de ficar indo pra cima e pra baixo numa tela) muito ruim, pouco pratico, falta de Usuabilidade;
[/quote]
Foi o que eu disse…

[quote=Scoobydoo]Resize(); Funciona sim, mas a fonte de botoes e labels tem um limite, apesar de o botao diminuir, por exemplo, a letra vai ficar igual, podendo ficar maior que o botao (FAIL!)
[/quote]
Se você redimensiona uma imagem toda ela fica menor… por isso o buffer que eu falei.

Não sou muito fã de ficar refazendo, apesar de que tem jeitos de fazer onde se muda pouca coisa, como no caso que eu falei de fazer as telas dinamicamentes (Hoje eu faço assim)

No exemplo acima eu disse que dá pra fazer do jeito que a mulecada ali estava falando, agora se é o melhor jeito, tem outros ou não, varia muito de caso para caso…

[quote=Scoobydoo]
OBS> Pensando sempre no Cliente…
não faça o mais prático para você, faça o mais pratico para o usuário[/quote]
Concordo totalmente…

Att
Ricoldi

pessoal, a pergunta é obvia, mas preciso aprender.

como saber a resolução do aparelho?

Display display = new Display(); display.getClientArea();

[quote=vfmartins]pessoal, a pergunta é obvia, mas preciso aprender.

como saber a resolução do aparelho?[/quote]

Acho que você pode dar um getWidth() e getHeight() no form, canvas…

Ai ele vai pegar o Width e o Height da telinha que ele criou, do seu próprio Form e não da Tela do Celular…
Velho… aki é J2ME…
Usa o Display…
Amigo. voce pode faze um getBounds tmb… ele retorna (int, int, width, height);

Ai ele vai pegar o Width e o Height da telinha que ele criou, do seu próprio Form e não da Tela do Celular…
Velho… aki é J2ME…
[/quote]

Não diga que é j2me…
Você consegue em j2me criar um form com dimensão diferente da tela do celular?

Ai ele vai pegar o Width e o Height da telinha que ele criou, do seu próprio Form e não da Tela do Celular…
Velho… aki é J2ME…
Usa o Display…
Amigo. voce pode faze um getBounds tmb… ele retorna (int, int, width, height);

Cara, J2ME é getHeigth() e getWidth() sim…
Fica tranquilo que com esses métodos ele pega a resolução do aparelho.

Ai ele vai pegar o Width e o Height da telinha que ele criou, do seu próprio Form e não da Tela do Celular…
Velho… aki é J2ME…
[/quote]

Não diga que é j2me…
Você consegue em j2me criar um form com dimensão diferente da tela do celular?[/quote]

Pois é, Canvas é assim, ele deve estar usando SWT

Pensa… do que adianta ele criar um Form com width = 240 e height = 240 e depois ele fazer um form.getwidth() ???
não tem sentido nenhum…
e outra… ele ta fazendo em CDC ou CLDC ???
em CDC voce tem que pegar o Display brother…
é um widgets normal…
mas fais do jeito que seis acha melhor ai então

Form Constructor Summary

Form(String title)
Creates a new, empty Form.
Form(String title, Item[] items)
Creates a new Form with the specified contents.

http://java.sun.com/javame/reference/apis/jsr118/javax/microedition/lcdui/Form.html

Canvas Constructor Summary
protected Canvas()
Constructs a new Canvas object.

http://java.sun.com/javame/reference/apis/jsr118/javax/microedition/lcdui/Canvas.html

Não se passa dimensão…