Item em mais Forms

3 respostas
M

Pessoal,

Gostaria de saber se consigo utilizar um mesmo item (um textbox por exemplo) em mais de um form.

Obrigado.

3 Respostas

DEAD

Se vc fazer uma classe e instanciar o objeto nada te impede de utilizar esse objeto mais de uma vez, logo vc pode utilizar um objeto(TextBox , Command, Ticker, etc) em mais de um form ou até em mais de uma máquina… bem eu estou na faculdade agora, acredito que posso tentar fazer uma aplicação de exemplo pra vc na quinta pois amanhã estarei bastante ocupado tbm. Eu vejo se der um tempo eu crio uma aplicação pra mostrar pra vc. Flw.

DEAD

[color=red]O código Prometido está ai:[/color]

// Bem primeiramente gostaria de dizer que fiz esse programa para provar a tese que mesmos objetos
// podem ser compartilhados por displays ou até mesmo forms e lists diferentes, porém os mesmos
// objetos de, que podem de uma certa forma serem reutilizados...
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class MidletFormTeste extends MIDlet implements CommandListener {
  
    Display display;
    // criei 2 forms um com nome de form que será o primeiro e o outro com nome de form2
    // consecutivamente será o segundo....
    Form form = new Form("Formulário 1");
    Form form2 = new Form("Formulário 2");
    // esses são 2 commands que serão reutilizados nos dos forms 
    Command commandSair = new Command("Sair",Command.EXIT, 1);
    Command commandOk = new Command("OK",Command.OK, 0);
    // e esse é nosso ticker de teste que será utilizado nos 2 forms
    Ticker tickerteste = new Ticker("Esse ticker é o mesmo nos dois forms kkkkk");    
    
    public void startApp() {
        
        display = Display.getDisplay(this);
        
        // seta todos elementos do form
        form.setTicker(tickerteste);
        form.append("Este é o primeiro formulário");
        form.addCommand(commandSair);
        form.addCommand(commandOk);
        form.setCommandListener(this);
        
        // seta a tela corrente como form
        display.setCurrent(form);
        
        // seta elementos do form2
        form2.setTicker(tickerteste);
        form2.append("Este é o segundo formulário");
        form2.addCommand(commandSair);
        form2.addCommand(commandOk); 
        form2.setCommandListener(this);
        
    }
    
    public void pauseApp() {
    }
    
    public void destroyApp(boolean unconditional) {
        display.setCurrent(null);
        notifyDestroyed();
    }

    public void commandAction(Command command, Displayable displayable) {
        // aqui para melhor utilização do código inceri essa linha que faz o commandSair ter a mesma
        // funcionalidade tanto no form quanto no form2
        if(displayable == form || displayable == form2) {
            if(command == commandSair) {
                destroyApp(true);
            }
          }
        //implementa commandOk do form
        if(displayable == form) {
            if(command == commandOk) {
                //seta tela corrente para form2
                display.setCurrent(form2);
            }
        }
        //implementa commandOk do form2
        // básicamente é a mesma coisa do código acima porém a tela corrente é form
        if(displayable == form2) {
            if(command == commandOk) {
               //seta tela corrente para form
                display.setCurrent(form);
            }
           
        }
    } 
}
W

valeu!!!
muito bom… era exatamente isso que tava procurando
salvou minha vida (e meu tcc!) hehe

Criado 12 de março de 2007
Ultima resposta 20 de nov. de 2007
Respostas 3
Participantes 3