quando adiciono textfield ao meu form, eles ficam todos na parte superior, teria como centralizar eles?
obrigado
quando adiciono textfield ao meu form, eles ficam todos na parte superior, teria como centralizar eles?
obrigado
Infelizmente não tem como usando a API de alto nível. Para criar efeitos mais preciso deve usar API de baixo nível.
desculpe sou leigo “API de baixo nível” seriam bibliotecas de terceiros?
Blz amigo, trata-se da classe Canvas ou GameCanvas.
Para explicar melhor, classe consideradas de baixo nível fazem parte da seguinte hierarquia:
javax.microedition.lcdui.Screen e seus descendentes.
Já as de baixo nível, ou seja, aquelas classes que você tem mais “poder” :lol:
javax.microedition.lcdui.Canvas.
peguei exemplos de canvas, mas nao estou vendo como adicionar o textfield dentro do canvas… qual metodo que chamo?
obrigado desde já pelas ajudas
Em Canvas não tem como adicionar, terias que fazer o componente do zero. Porém a api LWUIT te permite isso, existem componentes prontos, e a forma de trabalhar é da mesma forma do swing. Dá uma olhada, não existem dificuldades em usar esta api. Inclusive esitem menus pronto ect… :lol:
[quote=brunoff]quando adiciono textfield ao meu form, eles ficam todos na parte superior, teria como centralizar eles?
obrigado[/quote]
Faltou vc olhar no javadoc da classe TextField que deriva de Item e diz que é possível através de setLayout.
Se quiser usar o Canvas aqui vai um exemplo:
[code]package principal;
import javax.microedition.midlet.;
import javax.microedition.lcdui.;
public class TesteCanvas extends MIDlet implements CommandListener {
private MinhaCanvas myCanvas;
private Command saida = new Command(“Exit”, Command.EXIT, 99);
public TesteCanvas() {
myCanvas = new MinhaCanvas();
myCanvas.addCommand(saida);
myCanvas.setCommandListener(this);
}
public void startApp() throws MIDletStateChangeException {
Display.getDisplay(this).setCurrent(myCanvas);
myCanvas.repaint();
}
public void destroyApp(boolean unconditional)
throws MIDletStateChangeException {
}
public void pauseApp() {
}
public void commandAction(Command c, Displayable s) {
if(c == saida) {
try {
destroyApp(false);
notifyDestroyed();
} catch (MIDletStateChangeException ex) {
}
}
}
}
class MinhaCanvas extends Canvas {
private boolean prima = true;
public void paint(Graphics g) {
int larguraTela = getWidth();
int alturaTela = getHeight();
g.setColor(0xffffff);
g.fillRect(0, 0, larguraTela, alturaTela);
if(prima) {
Font font = g.getFont();
int alturaDoFont = font.getHeight();
int larguraDoFont = font.stringWidth("Olá Mundo!");
g.setColor(255, 0, 0);
g.setFont(font);
g.drawString("Olá Mundo!", (larguraTela - larguraDoFont)/2,
(alturaTela - alturaDoFont)/2,
Graphics.TOP|Graphics.LEFT);
prima = false;
}
}
}
[/code]
O que você precisaria é posicionar seu texto com o drawString
Se seu celular aceitar, vai ficar ainda melhor setando o canvas como fullscreen.
Abs
show de bola 