Elementos de uma matriz dentro do textbox

[color=red][size=15]Ola amigos,
Matriz pra mim sempre foi um bicho de sete cabeças…
Estou com problemas em colocar informações de uma matriz(20x4) dentro de uma textbox.

O que eu preciso é que quando o usuario clique em novo aparece campos
textobox para ele preecher e depois grave os dados do contato em uma matriz (Consegui gravar
pelo menos o nome). E depois quando o usuario clicar em abrir deve mostrar todos os dados
do contato gravado em uma textbox.[/size]

Eis meu código:[/color]



import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;

public class ContatoExercicioMidlet extends MIDlet implements CommandListener{
    private Display display;
    private List listaContatos;
    private Form frmContatos;
    private TextField nome,telefone,email,celular;
    private TextBox txtBox;
    private Command novoContato,gravarContato,voltar,abrir;
    private String dados[][] = new String[20][4];
    private int i=0;
    
    
    public ContatoExercicioMidlet(){
        //Display
        display = Display.getDisplay(this);
        
        
         //Telas
        listaContatos = new List("Contatos", Choice.IMPLICIT);
        frmContatos = new Form("Novo Contato");
        
        
         //comandos
        novoContato = new Command("Novo", Command.SCREEN, 0);
        gravarContato = new Command("Gravar", Command.SCREEN, 0);
        abrir = new Command("Abrir", Command.SCREEN, 0);
        voltar = new Command("Voltar", Command.SCREEN, 1);
        
        
        
        //campo texto
        nome = new TextField("Nome", null, 80, TextField.ANY);
        telefone = new TextField("Telefone", null, 80, TextField.ANY);
        email = new TextField("Email", null, 80, TextField.EMAILADDR);
        celular = new TextField("Celular", null, 80, TextField.NUMERIC);
        
        
        //TextBox
        txtBox = new TextBox("TextBox",dados[i][0]=nome.getString(), 150, 0);
        
        
                
        //Adiciona comandos nas respectivas telas
        listaContatos.addCommand(novoContato);
        listaContatos.addCommand(abrir);
        frmContatos.append(nome);
        frmContatos.append(telefone);
        frmContatos.append(email);
        frmContatos.append(celular);
        frmContatos.addCommand(voltar);
        frmContatos.addCommand(gravarContato);
        txtBox.addCommand(voltar);
     
        //Seta as telas
        listaContatos.setCommandListener(this);
        frmContatos.setCommandListener(this);
        txtBox.setCommandListener(this);
        
        
        
    }

    public void startApp() {
           display.setCurrent(listaContatos);
    }

    public void pauseApp() { }
    public void destroyApp(boolean unconditional) {  }

    public void commandAction(Command c, Displayable d){
        
          //Se clicar em novo vá para tela 2 
        if (c == novoContato) {
            display.setCurrent(frmContatos);
        }
        
        
        if (c==gravarContato){
            if (i<=19){
                dados[i][0]=nome.getString();   
                dados[i][1]=telefone.getString();
                i++;
            }
            nome.setString("");
            carregaLista();
            display.setCurrent(listaContatos);
        }
        
          if (c == abrir) {
            display.setCurrent(txtBox);
        }
        
        
         //Se clicar em voltar carregue a lista e vá para listaContato
        if (c == voltar) {
            carregaLista();
            display.setCurrent(listaContatos);
        }
        
        
        
    }

    public void carregaLista(){
        listaContatos.deleteAll();
        for(int j=0;j<=19;j++){
            if (dados[j][0] != null)
                listaContatos.append(dados[j][0], null);
        }
    }
}



Evite o uso de cores e letras diferenciadas ao descrever tua necessidade.
Esse desfile carnavalesco atrapalha. Mantenha o padrão.

Ah, quanto ao problema com as matrizes (elas não são bichos de sete cabeças), você precisa entender o funcionamento da mesma.
Sabe o excel (ou o Calc do Open Office)? Então, eles são ótimos exemplos de matrizes de duas dimensões.
O cruzamento de uma linha e uma coluna é chamado de célula.

String[][] matriz = new String[5][5];

Pense no código acima como se você pegasse 5 linhas e 5 colunas no excel.
Para popular, você vai precisar andar em cada uma das células, indo, linha a linha e coluna a coluna, certo?

for(int i = 0; i < 5; i++){
    for(int j = 0; j < 5; j++){
        matriz[i][j] = JOptionPane.showInputDialog("Valor da célula");
    }
}

Considere que o i é o que representa o valor da linha e o j representa o valor da coluna.

Para ler, basta fazer o mesmo procedimento.

.

drsmachado
No exemplo que vc deu é fácil, o dificil pra mim, é usar como exemplo que dei , não consigo colocar os elementos dentro da matriz no java me, tentei fazer assim.

//TextBox    
txtBox = new TextBox("TextBox",dados[i][0]=nome.getString(), 150, 0);    

mas nada, tem alguma idéia?

Cara, daí é um erro teu mesmo.
Por acaso existe algum construtor de TextBox que aceite uma atribuição como segundo argumento? Com certeza não, não acha?

txtBox = new TextBox("TextBox",/*Isso aqui é isso mesm?*/dados[i][0]=nome.getString(), 150, 0); 

Ou você quer comparar a posição 0 da iésima linha com o valor de nome? Se for isso, lembre-se que objetos são comparados pelo método equals e não pelo operador de comparação ==

txtBox = new TextBox("TextBox",dados[i][0].equals(nome.getString()), 150, 0); 

Se não é isto e o que quer é passar o valor de nome para o TextBox, pode fazer assim

txtBox = new TextBox("TextBox", nome.getString(), 150, 0); 

Ou assim

dados[i][0] = nome.getString();
txtBox = new TextBox("TextBox", dados[i][0], 150, 0); 

Aí é você que precisa ver o que quer e o que não quer.
Ah, e precisa estudar mais e ler a documentação também.