Fullscreen com MIDP1

Estou fazendo uma aplicacao e em cima do meu nokia fica o nome do midlet e embaixo fica descricao dos botoes, isso eh, nao consigo usar toda a tela.

vi que no midp2 tem um setFullScreenMode no Canvas, mas no MIDP1 nao. Como devo fazer? API proprietaria eh a unica solucao?

Tem certeza que está derivando da classe Canvas ?
Era para vc ter toda a área disponível para desenho…

public class SplashScreenCanvas extends Canvas {
	private Image image;

	public SplashScreenCanvas() {
		try {
			image = Image.createImage("/logo_128.png");

		} catch (IOException e) {
			e.printStackTrace();
			throw new RuntimeException(""+e.getMessage());
		}
	}

	public void paint(Graphics g) {
		g.drawImage(image, 0, 0, Graphics.TOP | Graphics.LEFT);
	}

}

Estendendo diretao
e de dentro do startApp eu faco

		this.display.setCurrent(new SplashScreenCanvas());

voce tem a tela toda num nokia? o meu eh um 6100. engracado que no emulador do wtk ele pega a tela inteira sim.

precisa fazer alguma opcao no jad ou algo?

Tem celulares que não disponibilizam a área inteira por MIDP “padrão” mesmo.
Inclusive, se você der getWidth/Height no Canvas vai ver que é só a área útil que retorna.
Aí acaba variando de celular para celular. Tem uns que se você não colocar CommandListener não fica com a descrição dos botões em baixo, mas não se pode contar com isso. Eu lembro também de um Motorola que costumava não ser tela cheia e um belo dia passou a ser, mas como não era eu que trabalhava com ele não sei o que aconteceu (e o cara que trabalhava com ele ficou igualmente suspreso!)

vanessa, o que voce recomenda fazer entao?

pensei em criar uma interface para a manipualacao da tela e tamanho da tela, assim faco um Strategy e cada celular tera uma implementacao dessa interface usando a api proprietaria de cada um e gero os jars de acordo com o celular. deve dar para fazer isso tranqulamente com um build.xml maiorzinho, nao?

como voces fazem?

Essa sua idéia até é válida, mas depende de como você vai usar. Se você vai ficar chamando métodos dessa interface com uma certa freqüência, antes de distribuir seu jogo é melhor tirar a interface e colocar direto a classe que vai implementar, pois a diferença de performance é considerável.

Paulo, você tem que lembrar que é J2ME, e no estado atual das coisas, esqueça design patterns, pois a tendência deles é encher de classes, interfaces, etc e isso não é adequado.

Sobre o build, o que eu fazia era ter um diretório “src” com as classes comuns e diretórios com os nomes dos modelos para classes específicas, ou por exemplo um diretório “color” e outro “pb”, ou um “mid” e outro “wav” para ir agrupando as classes reaproveitáveis por modelos semelhantes.
Aí no build eu preferia fazer um para cada modelo, para já pegar as classes de todos os diretórios correspondentes e executar o emulador específico. mas fazer um XML só com vários targets pode ser também.