Olá pessoal, sou o mais novo membro do fórum. Pode ser que minha duvida tenha sido respondida em algum tópico mas não encontrei. O caso é que estou tentando fazer com que ao precionar um botão no celular apareça o seu código e nome correspontende na tela, só que para isso usando a classe Canvas como forma de desenho. Na verdade esse é o exercicio do módulo 4 do curso JEDI de programação para dispositivos móveis. Queria que a tela limpasse e mostrasse isso, mas não consigo chamar o método com Canvas.
Abaixo mais detalhes do meu atual código:
import javax.microedition.midlet.;
import javax.microedition.lcdui.;
/**
-
@author XPUser
*/
public class MostraCodigo extends MIDlet {
public Display display;
public ClasseCanvas canvas;
public void startApp() {
if (display ==null){
canvas = new ClasseCanvas(this, "Hello");
display = Display.getDisplay(this);
}
display.setCurrent(canvas);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
[color=red]public void imprime(int codigo, String nome){
String a = nome;
display = Display.getDisplay(this, a); // será que isso eu preciso fazer para o canvas chamar o midlet?
display.setCurrent(canvas);[color=#444444][/color]
}[/color]
protected void Quit(){
destroyApp(true);
notifyDestroyed();
}
}
class ClasseCanvas extends Canvas implements CommandListener{
private Command sair = new Command("Sair", Command.EXIT, 0);
private MostraCodigo midlet;
private String frase;
public ClasseCanvas(MostraCodigo midlet, String frase){
this.midlet = midlet;
this.frase = frase;
addCommand(sair);
setCommandListener(this);
}
protected void paint(Graphics g){
g.setColor(255, 255, 255);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(0, 0, 0);
g.drawString(frase, getWidth()/2, getHeight()/2, Graphics.TOP | Graphics.HCENTER);
}
public void keyPressed(int keyCode) {
[color=red]if (getGameAction(keyCode)==LEFT){
System.out.println("nada");
} // ou é aqui mesmo que estou errando?
if (getGameAction(keyCode)==RIGHT){
System.out.println("tudo");
}[/color]
}
public void commandAction(Command c, Displayable d){
if (c == sair){
midlet.Quit();
}
}
}[color=#444444][/color]
!!!