Como alimentar uma jTable com dados de outra jTable em jFrames diferentes ?

1 resposta
java
L

Ola pessoal este é meu primeiro topico desculpa se coloquei no lugar errado e que estou precisando mesmo de ajuda.

Bom eu precisava alimentar minha segunda jTable com os dados que ja estão na minha jTable(Tabela) ambas estão em jFrames diferentes e estou tendo dificuldades com isso alguem poderia me ajudar
ps (Estou usando DefautTableModel).

jframe1
No caso quero passar nome e valor para o outro form nome no jTextField e e valor na jTable

-Cliente nome jTextfield tem que receber o nome cliente da jTable
-Essa jTable tem que receber o valor e dividir pelo numero de x marcado na coluna 1(Valor da jTable 1)

jframe2:

1 Resposta

R

Bem o pessoal aqui gosta de recomendar o a classe Tablemode para configurar a table, mas deixando isso de lado, fazer o que você quer é simples.

Nas Jframe crie uma função igual a de baixo

public Object[] getTable(){

JTable tabela = (Escreva sua tabela aqui) ;

//Aqui vai retornar um objeto com as informações da tabela

Object[] linhas = new Object[tabela.getRowCount()];

Object[] colunas;

for(int r =0 ; r<  tabela.getRowCount() ; r+){

colunas = new Object[tabela.getColumnCount()];

for(int c=0 ; c < tabela.getColumnCount(); c++){
colunas[c] = getValueAt( r, c);
      }
      linhas[r] = colunas;
}
return linhas;

}

// agora que já tem uma função que retorna os valores da tabela, precisa de uma função que crie a tabela não vou escrever ela aqui ja que voce ja sabe cria a tabela basta usar o
public void Configuratabela(Object[] lista){

for(int r =0 ; r<  arrayobjetos.lenght ; r+){  //linhas

for(int c=0 ; c < arrayobjetos[0].lenght; c++){ //colunas

//coloque o codigo da criação da tabela aqui

// r é as linhas e c é as colunas

}

linhas[r] = colunas;

}

}

agora que voce ja sabe como pegar os dados e sabe como criar a tabela, vamos passar os dados entres as JFrame, o segredo disso é saber como você chamou as jframe, existem 2 possibilidades.

  1. A primeira JFrame Chamou a Segunda JFrame então a Jframe1 é o Objeto pai da Jframe2
Nesse caso basta ir na parte que fez isso:

MinhaclasseJframe jframe2 = new MinhaclasseJframe();

jframe2.setVisible(true);

this.configuraTabela(jframe2.getTable());

//O caso que descrevi é se a tabela que voce quer copiar a tabela do filho no objeto pai
//Mas caso queira que o filho receba a tabela do objeto pai, crie uma função para receber a Objeto pai no filho

//Esse trexo deve ser colocado no filho
JFrame pai; //Deve ser variavel global

public setPai(JFrame pai){

this.pai = pai;

}

//Esse trecho deve ser colocado no pai
jframe2.setPai(this);

  1. Uma 3 Frame chamou os 2 Jframe então tanto Jframe1 quanto Jframe2 são Filho da mesma frame.

Uma coisa que nunca tentei é compartilhar diretamente o Jtable com outra Jframe, assim ficaria as duas jframes compartilhando o mesmo objeto

Criado 9 de outubro de 2018
Ultima resposta 10 de out. de 2018
Respostas 1
Participantes 2