Exibir Vetor em tabela [RESOLVIDO]

1. Exibir Vetor em tabela [RESOLVIDO]

andrea gonzalez
avgonzalez

(usa Outra)

Enviado em 29/05/2014 - 14:58h

Olá!
Tenho informações, coletadas do arduino, inseridas em um vetor de duas colunas e 10 linhas.

Preciso mostrar essas leituras na tela, preferencialmente em uma tabela mas não estou conseguindo fazer isso. Li vários tutoriais que explicam como inserir dados em um jedit e depois clicar num botão que insere num jTable, porém não consigo adaptar isso ao que preciso, pois eu já tenho a tabela pronta (jTable) e o vetor com os dados preciso apenas exibi-los no jTable mas não estou conseguindo.

Se alguém puder me ajudar...

Obrigada


  


2. Re: Exibir Vetor em tabela [RESOLVIDO]

João Victor
vikitor566

(usa Fedora)

Enviado em 29/05/2014 - 16:00h

Onde está com dificuldade ? Poste o código se possível


3. Código

andrea gonzalez
avgonzalez

(usa Outra)

Enviado em 30/05/2014 - 15:06h

[code] Este é o trecho que preciso trabalhar...Então eu pego os dados do Arduino e armazeno no vms[i] e no vmc[j] e são estes dois vetores que eu preciso exibir numa tabela, sendo que na coluna onde vai aparecer vms o título tem que ser tempos e na outra (vmc[]) distâncias. Eu continuo aqui tentando mas não sei fazer isso ainda. Agradeço a ajuda.

public synchronized void serialEvent(SerialPortEvent oEvent) {
if (oEvent.getEventType() == SerialPortEvent.DATA_AVAILABLE) {
try {
String inputLine = input.readLine();
String data[] = inputLine.split(" ");
double ms, cm;

ms = Double.parseDouble(data[0]);
cm = Double.parseDouble(data[1]);




vms[i] = ms;
i++;

vcm[j] = cm;
j++;

if (i == 10 && j == 10) {
// agora temos os tempos em vms e as distâncias em vcm
System.out.println("Tempos");
for (int k = 0; k < 10; k++) {

System.out.printf("%f ", vms[k]);

}
System.out.println(" ");

System.out.println("Distâncias");
for (int k = 0; k < 10; k++) {
System.out.printf("%f " + vcm[k] );
}
}

} catch (IOException e) {
System.err.println(e.toString());
}

}
}
[code]



4. Re: Exibir Vetor em tabela [RESOLVIDO]

João Victor
vikitor566

(usa Fedora)

Enviado em 30/05/2014 - 20:38h

Olha se te ajuda um pouco, estou bem enferrujado com Java depois que descobri Python, esse slide ajuda bastante a entender Jtable: http://www.slideshare.net/skosta/aula-11-swing-bd-jtable-parte-2


public synchronized void serialEvent(SerialPortEvent oEvent) {
double tempos[] = new double[10]; // Cria dois vetores
double distancia[] = new double[10];
while(oEvent.getEventType() == SerialPortEvent.DATA_AVAILABLE) { //Enquanto houver dados
try {
String inputLine = input.readLine(); //Leitura da linha dos dados
String data[] = inputLine.split(" "); // Divisao dos dados
double ms, cm;
ms = Double.parseDouble(data[0]); // Conversao
cm = Double.parseDouble(data[1]);
tempos[(tempos.length-1)] = ms; // Insere os dados na ultima poiscao do vetor
distancia[(distancia.length-1)] = cm;
} catch (IOException e) {
System.err.println(e.toString());
}
}
String[] titulo = new String[]{"Tempo","Distancia"};
double[][] dados = new double[10][10];
DefaultTableModel tm = new DefaultTableModel(dados,titulo);
for(i=0,i++,i<10){
tm.addRow(new Object[]{ tempos[i],distancia[i]}); // Adiciona os dados a tabela
}

}
tm.setVisible(true); // Torna a tabela visivel



5. Re: Exibir Vetor em tabela [RESOLVIDO]

andrea gonzalez
avgonzalez

(usa Outra)

Enviado em 02/06/2014 - 15:45h

Ok, obrigada! Vou olhar agora mesmo.
Tu falastes que estás enferrujado no Java, depois de descobrir Python.
Comigo foi ao contrário, eu usava o Python e abandonei por não saber fazer este trabalho de exibir os vetores na tabela... Estava usando o PyGTK e o Glade.


6. Re: Exibir Vetor em tabela [RESOLVIDO]

andrea gonzalez
avgonzalez

(usa Outra)

Enviado em 02/06/2014 - 16:24h

[code]
O código ainda está apresentando um erro que eu não consigo identificar...


String[] titulo = new String[]{"Tempo", "Distancia"};
double[][] dados = new double[10][10];



//bem aqui aparce um erro:"no suitable constructor found for DefaultTableModel (double[], string[]), constructor DefaultTableModel.DefaultTableModel(int,int) is not applicable..."

DefaultTableModel tm = new DefaultTableModel(dados, titulo);
for (i = 0; i < 10; i++) {
tm.addRow(new Object[]{tempos[i], distancia[i]}); // Adiciona os dados a tabela
}

}
//aqui neste trecho ele diz assim: package tm does not exist
<identifier> expected>
missing method body, or declare abstarct
illegal start of type


tm.setVisible (true); // Torna a tabela visivel

}


7. Re: Exibir Vetor em tabela [RESOLVIDO]

andrea gonzalez
avgonzalez

(usa Outra)

Enviado em 03/06/2014 - 16:45h

avgonzalez escreveu:

Ok, obrigada! Vou olhar agora mesmo.
Tu falastes que estás enferrujado no Java, depois de descobrir Python.
Comigo foi ao contrário, eu usava o Python e abandonei por não saber fazer este trabalho de exibir os vetores na tabela... Estava usando o PyGTK e o Glade.


Tá difícil podes continuar me ajudando?


8. Re: Exibir Vetor em tabela [RESOLVIDO]

João Victor
vikitor566

(usa Fedora)

Enviado em 03/06/2014 - 19:36h

Eu já escrevi um artigo aqui no forúm tratando da comunicação Arduino e Python, porém voltado para dispositivos Android e usando HTML como front-end. Dá uma olhada pode ser útil em algum momento

http://www.vivaolinux.com.br/artigo/Robeoacutetica-com-Android-e-Arduino/

Parece que o erro é algo relacionado ao construtor da classe, que não é capaz de trabalhar com dados do tipo double, não sei qual a precisão dos sensores e até que casa decimal você quer exibir seria interessante tentar mudar as variaveis de double para float.


9. Agradecendo

andrea gonzalez
avgonzalez

(usa Outra)

Enviado em 04/06/2014 - 13:50h

Obrigada, agora está funcionando.
Valeu pelas dicas foram de grande ajuda.

Abraço






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts