[Resolvido] Transferir dados de um Jtable de um Jdialog para o Jtable de um JFrame

Prezados, Boa noite.
Estou com dificuldades para passar a linha selecionada da Jtable01 (Jframe 01) para Jtable02 (Jframe 02) .
o meu Jfamre 02 faz uma pesquisa por produtos, ao clicar no produto e pressionar o botão adicionar item, o documento simplesmente não vai para a Jtable02.
Segue Abaixo meu Código:

DefaultTableModel m;
private void bntAddItemActionPerformed(java.awt.event.ActionEvent evt) {
int fsel = jtPesqProd.getSelectedRow();

    try {
       String idProd, nomeProd, pesoProd, valorProd, estoque, qtdProd, importar;
       Double valor;
       
       if(fsel == -1){
           
           JOptionPane.showMessageDialog(null, "Você deve Selecionar um Produto","Advertência",JOptionPane.WARNING_MESSAGE);
       }else{
           
           m = (DefaultTableModel)jtPesqProd.getModel();
           TelaInicialVendas tela = new TelaInicialVendas();
           idProd = jtPesqProd.getValueAt(fsel, 0).toString();
           nomeProd = jtPesqProd.getValueAt(fsel, 1).toString();
           pesoProd = jtPesqProd.getValueAt(fsel, 2).toString();
           valorProd = jtPesqProd.getValueAt(fsel, 3).toString();
           estoque = jtPesqProd.getValueAt(fsel, 4).toString();

           String[] transfer = new String[5];

           transfer[0] = (String) tela.jtItensVenda.getValueAt(fsel, 0);
           transfer[1] = (String) tela.jtItensVenda.getValueAt(fsel, 1);
           transfer[2] = (String) tela.jtItensVenda.getValueAt(fsel, 2);
           transfer[3] = (String) tela.jtItensVenda.getValueAt(fsel, 3);
           transfer[4] = (String) tela.jtItensVenda.getValueAt(fsel, 4);
           
           
          
           m = (DefaultTableModel)tela.jtItensVenda.getModel();
           m.addRow(transfer);
       
           
           
                             }
        
    } catch (Exception e) {
    }

    // TODO add your handling code here:
}

Agradeço todos que puderem me ajudar, ele mostra a mensagem quando nenhum é selecionado, também coloquei um Joption pane para exibir os dados se estão sendo transferidos e são exibidos as linhas, porém não é exibida na outra tabela.

O código está meio confuso, separe por métodos:

private String[] obterLinha(int indice, DefaultTableModel model) {
    String[] linha = new String[5];
    linha[0] = model.getValueAt(indice, 0).toString();
    linha[1] = model.getValueAt(indice, 1).toString();
    linha[2] = model.getValueAt(indice, 2).toString();
    linha[3] = model.getValueAt(indice, 3).toString();
    linha[4] = model.getValueAt(indice, 4).toString();
    return linha;
}

private void adicionarLinha(String[] linha, DefaultTableModel model) {
    model.addRow(linha);
}

e depois:

try {
   // String idProd, nomeProd, pesoProd, valorProd, estoque, qtdProd, importar;
   // Double valor;
   if(fsel == -1){           
       JOptionPane.showMessageDialog(null, "Você deve Selecionar um Produto","Advertência",JOptionPane.WARNING_MESSAGE);
   }else{
       String[] linha = obterLinha(sel, (DefaultTableModel)jtPesqProd.getModel());
       TelaInicialVendas tela = new TelaInicialVendas();
       adicionarLinha(linha, (DefaultTableModel)(tela.jtItensVenda.getModel()));

Olá diego! Eu fiz dessa forma e não funcionou.
lembrando que coloquei todo esse código nao Jframe TelaPesquisaVendas, que é a responsável por fazer a pesquisa no banco jogar no Jtable (jtPesqProd) e em seguida após selecionar a linha e clicar no botão (Adicionar item) ele teria que enviar para o Jframe TelaInicialVendas na Jtable(jtItensVenda).
Já coloquei a Jtable em Public porém mesmo assim não foi, não sei porque não está querendo adicionar o item é como se ele estivesse indo, porém não está sendo exibido.

Você precisa estudar o pattern observable.
Ou, de outra forma, fazer com que o construtor da JFrame que receberá os dados, receba os tais dados como parâmetro

public MeuJFrameQueRecebeOsDados(List<Dado> dados) {
    this.dados = dados;
}

Entendeu?

Aparentemente o problema não está aí, poderia fazer o seguinte teste:

tela.jtItensVenda.setModel(jtPesqProd.getModel());

Isso fará com que as tabelas sejam exibidas igualmente, inclusive nas edições. Se não funcionar então em algum lugar vc está trocando o model da tabela ou está chamando a tabela errada.

fiz como pediu, mas não funcionou, coloquei esse código na Jframe (Tela pesquisa produtos) e também coloquei lá no Jframe (Tela Inicial Vendas) em ambos os casos não funcionou.
Ops, isso se deve ao fato de a tabela pesquisa está em um Jdialog? esqueci de mencionar isso.
é o seguinte, ao abrir o Jframe de vendas, eu pesquiso o produto pressionando a Tecla F1, onde é chamado o Jdialog eu consulto e ao receber do banco os produtos eu tento selecionar para jogar na tabela do JFrame será esse o problema? eu coloquei esse código também na ação do botão F1, mas não resolveu.

Certo Darlan, irei estudar conforme mencionou.

Cara não sei onde estou errando, será pelo fato de eu utilizar o DefaultTableModel?
já tentei fazer de várias formas, mas os dados não passam de jeito nenhum, vou tentar jogar em um JtextField dessa outra tabela para ver se funciona.

Estou percebendo uma coisa, estou colocando todo o código no evento do botão, mas em nenhum momento eu coloquei no código evento para o click do mouse na tabela, será que é isso?
mas na condicional eu deixo claro que se não tiver nada selecionado ele informe, mas quando eu seleciono eu clico e simplesmente ele não faz nada.

Testei se ele estava pegando os dados da tabela, está pegando sim, joguei em um Joption Pane e o resultado selecionado estava sendo exibido no Joption pane, isso quer dizer ele a seleção do click do mouse está sendo realizada, de alguma forma não está sendo possível inserir e minha outra tabela, já exclui e coloquei outra tabela, mas o addRow não está funcionando aparentemente, é como se ele não estivesse chegando na outra Jframe ou simplesmente a tabela não está atualizando.

Preciso de um Help!

Não, se consegue acesso aos dados, não é esse o problema.

e qual seria então o problema? me parece ser algo simples… mas não estou conseguindo entender o que está errado!

Se for um dialog modal faz toda a diferença. Quando é modal e o dialog é exibido, o dialog “trava” a execução e só continua depois que for fechada.

Inicialize o TelaInicialVendas como setModal(false) e setVisible(false) no construtor, depois que instanciar chame o método exibir da classe TelaInicialVendas:

TelaInicialVendas tela = new TelaInicialVendas();
/* transfere */
tela.exibir();

// método exibir da classe TelaInicialVendas

public void exibir() {
    setModal(true);
    setVisible(true);
}

Sendo JFrame ou JDialog, não é muito bom colocar o setVisible(true) no construtor, pois muitas vezes é melhor inserir os dados antes de abrir as janelas.

1 curtida

diego12, quando inicio o Jframe TelaInicialVendas, eu devo colocar ele setModal? o setModal não é para o Jdialog, que nesse caso é o TelaPesquisaVendas, pois quando eu abro a tela de vendas eu pressiono “F1” para consultar o produto, logo abre o Tela de Pesquisa que é o Jdialog, eu coloquei modal para que o usuário não possa fazer nenhum ação no Frame enquanto estiver aberta a Tela de pesquisa. o Código da ação na Tela pesquisa está assim:

@Override
public void actionPerformed(ActionEvent ae) {
switch(tecla){
case “F1”:
{

              TelaPesquisaVendas telapesq = new TelaPesquisaVendas((Frame)getParent(), true);
              telapesq.setVisible(true);
              telapesq.setModal(true);
                               
           }
       }  

    
    }

Nesse caso quando tento criar o metódo exibir o setModal(true) fica com erro “cannot find Symbol”, não sendo possível escrever ele ai. logo não posso colocar no inicialize o tela. exibir. A TelaInicialVendas está assim:

public TelaInicialVendas() {
initComponents();
RegistrarAcaoBotao(jPanel1);
TelaInicialVendas tela = new TelaInicialVendas();
tela.exibir();
}

public void exibir(){
    setModal(true);
    setVisible(true);
}

Nesse caso eu teria que armazenar os campos em algum lugar temporário até que o Jdialog seja encerrado, após isso inserir na outra tabela? é mais ou menos isso?

Eu fiz o teste colocando o telapesq.setModal(false) e o ((Frame)getParent(), false), mesmo assim os dados não são adicionados.

Me enganei, pensei que fosse a TelaInicialVendas o dialog, pois geralmente as pessoas fazem o JFrame abrir um JDialog e não o inverso, testei aqui e não é isso também. Desculpa, ainda não sei o que pode ser.

O experimento:

import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.*;
import java.awt.BorderLayout;
import javax.swing.event.*;
public class Janela1 extends JDialog
{
    JTable tabela;
    
    public Janela1() {
        super();setModal(true);
        setTitle("dialog");
        
        Janela2 outra = new Janela2();
        
        tabela = new JTable(new DefaultTableModel(new String[]{"Nome", "Valor"}, 0));
        tabela.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        
        tabela.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
            public void valueChanged(ListSelectionEvent e) {
                 String[] linha = obterLinha(e.getFirstIndex(), (DefaultTableModel)tabela.getModel());
                 adicionarLinha(linha, (DefaultTableModel)outra.tabela.getModel());
            }
        });
        
        

        outra.setVisible(true);
        
        getContentPane().add(new JScrollPane(tabela));
        //setDefaultCloseOperation(EXIT_ON_CLOSE);
        pack();
        
        /** TESTE **/
        DefaultTableModel model = (DefaultTableModel)tabela.getModel();
        adicionarLinha(new String[]{"Item 1", "5.00"}, model);
        adicionarLinha(new String[]{"Item 2", "4.00"}, model);
        adicionarLinha(new String[]{"Item 3", "2.00"}, model);
        adicionarLinha(new String[]{"Item 4", "1.00"}, model);
    }
    
    private String[] obterLinha(int indice, DefaultTableModel model) {
        String[] linha = new String[5];
        linha[0] = model.getValueAt(indice, 0).toString();
        linha[1] = model.getValueAt(indice, 1).toString();
        return linha;
    }

    private void adicionarLinha(String[] linha, DefaultTableModel model) {
        model.addRow(linha);
    }
    
    public static void main(String[] args){
        new Janela1().setVisible(true);
    }
}


import javax.swing.*;
import javax.swing.table.*;
import java.awt.BorderLayout;
import javax.swing.event.*;
public class Janela2 extends JFrame
{
    JTable tabela;
    JButton botao;
    
    public Janela2() {
        super();
        setTitle("frame");
        tabela = new JTable(new DefaultTableModel(new String[]{"Nome", "Valor"}, 0));
        
        getContentPane().add(new JScrollPane(tabela));
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        pack();
    }
}

@diego12
Então teria que ao invés de ser um Jdialog chamar o Jframe mesmo. Eu coloquei o Jdialog para que justamente a tela de pesquisa ficasse evidente e o usuário não pudesse utilizar a outra enquanto esta estiver aberta.
Não sei se é o certo, mas poderia pegar os dados colocar em um Vector, são 5 campos que precisam ser exibidos, eu colocaria em um método para transferir esses dados para o outro Frame e lá faria uma forma de executá-lo, me parece uma POG… mas não vejo outra alternativa.
é mais ou menos, eu acho, o que o @darlan_machado mencionou anteriormente em um dos posts.

Então quem seria o observador e o observado? Se souber a resposta então é possível usar o padrão

Passar uma lista dos dados pelo construtor pode até funcionar, seria muito parecido com que vc já tinha feito, mas terá que bloquear o botão para impedir que abra outra janela, e caso clique no botão novamente, terá que fechar a janela e para abrir a outra ou resetar a janela (limpar os dados e preencher novamente).

Poderia postar o código da tela TelaInicialVendas, pelo menos o construtor?

1 curtida

@diego12 Segue meu Jframe

/*

  • To change this license header, choose License Headers in Project Properties.
  • To change this template file, choose Tools | Templates
  • and open the template in the editor.
    */
    package telas;

import java.awt.Frame;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import javax.swing.ActionMap;
import javax.swing.InputMap;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.KeyStroke;
import javax.swing.table.*;
import telas.TelaPesquisaVendas;

/**
*

  • @author Grupo Logica
    */
    public class TelaInicialVendas extends javax.swing.JFrame {

    private AcaoBotao botaoF1 = new AcaoBotao(“F1”);

    /**

    • Creates new form TelaInicialVendas
      */
      public TelaInicialVendas() {
      initComponents();
      RegistrarAcaoBotao(jPanel1);
      // TelaInicialVendas tela = new TelaInicialVendas();
      //tela.exibir();
      }

    public void exibir() {

     //setModal(true);
     //setVisible(true);
    

    }

    private class AcaoBotao extends AbstractAction {

     private String tecla;
    
     public AcaoBotao(String tecla) {
         super(tecla);
         this.tecla = tecla;
     }
    
     @Override
     public void actionPerformed(ActionEvent ae) {
         switch (tecla) {
             case "F1": {
    
                 TelaPesquisaVendas telapesq = new TelaPesquisaVendas((Frame) getParent(), true);
                 telapesq.setVisible(true);
                 telapesq.setModal(true);
    
             }
         }
    
         //To change body of generated methods, choose Tools | Templates.
     }
    

    }

    private void RegistrarAcaoBotao(javax.swing.JPanel panel) {

     ActionMap actionmap = panel.getActionMap();
     actionmap.put("F1", botaoF1);
     panel.setActionMap(actionmap);
    
     InputMap inputmap = panel.getInputMap(JPanel.WHEN_IN_FOCUSED_WINDOW);
    
     inputmap.put(KeyStroke.getKeyStroke("F1"), "F1");
    

    }

    /**

    • This method is called from within the constructor to initialize the form.

    • WARNING: Do NOT modify this code. The content of this method is always

    • regenerated by the Form Editor.
      */
      @SuppressWarnings(“unchecked”)
      //
      private void initComponents() {

      jPanel1 = new javax.swing.JPanel();
      jPanel2 = new javax.swing.JPanel();
      jTextField2 = new javax.swing.JTextField();
      jLabel2 = new javax.swing.JLabel();
      jLabel7 = new javax.swing.JLabel();
      jTextField6 = new javax.swing.JTextField();
      jPanel3 = new javax.swing.JPanel();
      jLabel4 = new javax.swing.JLabel();
      jLabel6 = new javax.swing.JLabel();
      jLabel8 = new javax.swing.JLabel();
      jLabel9 = new javax.swing.JLabel();
      jLabel10 = new javax.swing.JLabel();
      jLabel11 = new javax.swing.JLabel();
      jTextField3 = new javax.swing.JTextField();
      jLabel12 = new javax.swing.JLabel();
      jTextField4 = new javax.swing.JTextField();
      jLabel13 = new javax.swing.JLabel();
      jTextField8 = new javax.swing.JTextField();
      jLabel14 = new javax.swing.JLabel();
      jTextField9 = new javax.swing.JTextField();
      jLabel15 = new javax.swing.JLabel();
      jTextField10 = new javax.swing.JTextField();
      jButton1 = new javax.swing.JButton();
      jButton2 = new javax.swing.JButton();
      jButton3 = new javax.swing.JButton();
      jPanel4 = new javax.swing.JPanel();
      jPanel5 = new javax.swing.JPanel();
      jButton5 = new javax.swing.JButton();
      jButton6 = new javax.swing.JButton();
      jLabel5 = new javax.swing.JLabel();
      txtSubTotal = new javax.swing.JTextField();
      jLabel1 = new javax.swing.JLabel();
      txtDesconto = new javax.swing.JTextField();
      jLabel3 = new javax.swing.JLabel();
      txtTotal = new javax.swing.JTextField();
      jScrollPane2 = new javax.swing.JScrollPane();
      jtItensVenda = new javax.swing.JTable();

      setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

      jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder());

      jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(“Dados da Venda”));
      jPanel2.setToolTipText("");

      jTextField2.setFont(new java.awt.Font(“Tahoma”, 0, 18)); // NOI18N

      jLabel2.setFont(new java.awt.Font(“Tahoma”, 0, 18)); // NOI18N
      jLabel2.setText(“Produto”);

      jLabel7.setFont(new java.awt.Font(“Tahoma”, 0, 18)); // NOI18N
      jLabel7.setText(“Data”);

      jLabel4.setText("ATALHOS ");

      jLabel6.setText(“F1 - Consultar Produtos”);

      jLabel8.setText(“F2 - Descontos”);

      jLabel9.setText(“F3 - Cancelar Venda”);

      jLabel10.setText(“F4 - Finalizar Venda”);

      javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
      jPanel3.setLayout(jPanel3Layout);
      jPanel3Layout.setHorizontalGroup(
      jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(jPanel3Layout.createSequentialGroup()
      .addGap(48, 48, 48)
      .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
      .addGroup(jPanel3Layout.createSequentialGroup()
      .addComponent(jLabel8)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      .addComponent(jLabel10))
      .addGroup(jPanel3Layout.createSequentialGroup()
      .addComponent(jLabel6)
      .addGap(72, 72, 72)
      .addComponent(jLabel9)))
      .addContainerGap(33, Short.MAX_VALUE))
      .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
      .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      .addComponent(jLabel4)
      .addGap(156, 156, 156))
      );
      jPanel3Layout.setVerticalGroup(
      jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(jPanel3Layout.createSequentialGroup()
      .addComponent(jLabel4)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
      .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(jLabel6)
      .addComponent(jLabel9))
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(jLabel8)
      .addComponent(jLabel10))
      .addGap(0, 41, Short.MAX_VALUE))
      );

      jLabel11.setText(“ID Produto”);

      jLabel12.setText(“Peso”);

      jLabel13.setText(“Estoque”);

      jLabel14.setText(“Valor Unid”);

      jLabel15.setText(“Quantidade”);

      jButton1.setText(“Adicionar Item”);

      jButton2.setText(“Remover Item”);

      jButton3.setText(“Alterar Item”);

      javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
      jPanel2.setLayout(jPanel2Layout);
      jPanel2Layout.setHorizontalGroup(
      jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(jPanel2Layout.createSequentialGroup()
      .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
      .addComponent(jLabel15)
      .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(jPanel2Layout.createSequentialGroup()
      .addGap(20, 20, 20)
      .addComponent(jLabel11))
      .addGroup(jPanel2Layout.createSequentialGroup()
      .addContainerGap()
      .addComponent(jLabel2))
      .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
      .addContainerGap()
      .addComponent(jLabel12))))
      .addGap(18, 18, 18)
      .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(jPanel2Layout.createSequentialGroup()
      .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, 46, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addComponent(jTextField10, javax.swing.GroupLayout.PREFERRED_SIZE, 46, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(jPanel2Layout.createSequentialGroup()
      .addComponent(jLabel13)
      .addGap(12, 12, 12)
      .addComponent(jTextField8, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addGap(24, 24, 24)
      .addComponent(jLabel14)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
      .addComponent(jTextField9, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addGroup(jPanel2Layout.createSequentialGroup()
      .addGap(21, 21, 21)
      .addComponent(jButton1)
      .addGap(32, 32, 32)
      .addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 131, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addGap(39, 39, 39)
      .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 111, javax.swing.GroupLayout.PREFERRED_SIZE)))
      .addContainerGap())
      .addGroup(jPanel2Layout.createSequentialGroup()
      .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(jPanel2Layout.createSequentialGroup()
      .addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, 71, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      .addComponent(jLabel7)
      .addGap(34, 34, 34)
      .addComponent(jTextField6, javax.swing.GroupLayout.PREFERRED_SIZE, 105, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, 657, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 279, Short.MAX_VALUE)
      .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
      );
      jPanel2Layout.setVerticalGroup(
      jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(jPanel2Layout.createSequentialGroup()
      .addContainerGap()
      .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
      .addGroup(jPanel2Layout.createSequentialGroup()
      .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addGap(18, 18, Short.MAX_VALUE))
      .addGroup(jPanel2Layout.createSequentialGroup()
      .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(jLabel11)
      .addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addComponent(jLabel7)
      .addComponent(jTextField6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addGap(18, 18, 18)
      .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(jLabel2)
      .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addGap(18, 18, 18)
      .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(jLabel12)
      .addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addComponent(jLabel13)
      .addComponent(jTextField8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addComponent(jLabel14)
      .addComponent(jTextField9, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addGap(18, 18, 18)
      .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(jLabel15)
      .addComponent(jTextField10, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addComponent(jButton1)
      .addComponent(jButton3)
      .addComponent(jButton2))
      .addGap(88, 88, 88))))
      );

      jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder(“Itens de Venda”));

      jPanel5.setBorder(javax.swing.BorderFactory.createEtchedBorder());

      jButton5.setText(“Finalizar Venda”);

      jButton6.setText(“Cancelar Venda”);

      javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
      jPanel5.setLayout(jPanel5Layout);
      jPanel5Layout.setHorizontalGroup(
      jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel5Layout.createSequentialGroup()
      .addGap(58, 58, 58)
      .addComponent(jButton5, javax.swing.GroupLayout.PREFERRED_SIZE, 208, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addGap(42, 42, 42)
      .addComponent(jButton6, javax.swing.GroupLayout.PREFERRED_SIZE, 179, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addContainerGap(899, Short.MAX_VALUE))
      );
      jPanel5Layout.setVerticalGroup(
      jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(jPanel5Layout.createSequentialGroup()
      .addContainerGap()
      .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(jButton5, javax.swing.GroupLayout.PREFERRED_SIZE, 57, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addComponent(jButton6, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      );

      jLabel5.setFont(new java.awt.Font(“Tahoma”, 0, 24)); // NOI18N
      jLabel5.setText(“SUB TOTAL”);

      jLabel1.setFont(new java.awt.Font(“Tahoma”, 0, 24)); // NOI18N
      jLabel1.setText(“DESCONTO”);

      jLabel3.setFont(new java.awt.Font(“Tahoma”, 0, 36)); // NOI18N
      jLabel3.setText(“TOTAL”);

      jtItensVenda.setModel(new javax.swing.table.DefaultTableModel(
      new Object [][] {
      {},
      {},
      {},
      {}
      },
      new String [] {

       }
      

      ));
      jtItensVenda.getTableHeader().setReorderingAllowed(false);
      jScrollPane2.setViewportView(jtItensVenda);

      javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
      jPanel4.setLayout(jPanel4Layout);
      jPanel4Layout.setHorizontalGroup(
      jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(jPanel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      .addGroup(jPanel4Layout.createSequentialGroup()
      .addContainerGap()
      .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 1016, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(jPanel4Layout.createSequentialGroup()
      .addGap(128, 128, 128)
      .addComponent(jLabel5)
      .addGap(106, 106, 106))
      .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel4Layout.createSequentialGroup()
      .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
      .addComponent(txtDesconto, javax.swing.GroupLayout.PREFERRED_SIZE, 219, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addComponent(txtSubTotal, javax.swing.GroupLayout.PREFERRED_SIZE, 219, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addGap(59, 59, 59)))
      .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel4Layout.createSequentialGroup()
      .addComponent(jLabel1)
      .addGap(110, 110, 110)))
      .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel4Layout.createSequentialGroup()
      .addComponent(jLabel3)
      .addGap(108, 108, 108)))
      .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel4Layout.createSequentialGroup()
      .addComponent(txtTotal, javax.swing.GroupLayout.PREFERRED_SIZE, 292, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addGap(19, 19, 19))))
      );
      jPanel4Layout.setVerticalGroup(
      jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel4Layout.createSequentialGroup()
      .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(jPanel4Layout.createSequentialGroup()
      .addComponent(jLabel5)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
      .addComponent(txtSubTotal, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addGap(18, 18, 18)
      .addComponent(jLabel1)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addComponent(txtDesconto, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addGap(18, 18, 18)
      .addComponent(jLabel3)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
      .addComponent(txtTotal, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addGap(88, 88, 88))
      .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel4Layout.createSequentialGroup()
      .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addGap(18, 18, 18)))
      .addComponent(jPanel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      );

      javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
      jPanel1.setLayout(jPanel1Layout);
      jPanel1Layout.setHorizontalGroup(
      jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(jPanel1Layout.createSequentialGroup()
      .addContainerGap()
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      .addContainerGap())
      );
      jPanel1Layout.setVerticalGroup(
      jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(jPanel1Layout.createSequentialGroup()
      .addContainerGap()
      .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, 215, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, 522, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addContainerGap())
      );

      javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
      getContentPane().setLayout(layout);
      layout.setHorizontalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(layout.createSequentialGroup()
      .addContainerGap()
      .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      );
      layout.setVerticalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(layout.createSequentialGroup()
      .addContainerGap()
      .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      );

      pack();
      }//

    /**

    • @param args the command line arguments
      /
      public static void main(String args[]) {
      /
      Set the Nimbus look and feel /
      //
      /
      If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

      • For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
        */
        try {
        for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
        if (“Nimbus”.equals(info.getName())) {
        javax.swing.UIManager.setLookAndFeel(info.getClassName());
        break;
        }
        }
        } catch (ClassNotFoundException ex) {
        java.util.logging.Logger.getLogger(TelaInicialVendas.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
        java.util.logging.Logger.getLogger(TelaInicialVendas.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
        java.util.logging.Logger.getLogger(TelaInicialVendas.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
        java.util.logging.Logger.getLogger(TelaInicialVendas.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //

      /* Create and display the form */
      java.awt.EventQueue.invokeLater(new Runnable() {
      public void run() {
      new TelaInicialVendas().setVisible(true);
      }
      });
      }

    // Variables declaration - do not modify
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton3;
    private javax.swing.JButton jButton5;
    private javax.swing.JButton jButton6;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel10;
    private javax.swing.JLabel jLabel11;
    private javax.swing.JLabel jLabel12;
    private javax.swing.JLabel jLabel13;
    private javax.swing.JLabel jLabel14;
    private javax.swing.JLabel jLabel15;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JPanel jPanel4;
    private javax.swing.JPanel jPanel5;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JTextField jTextField10;
    private javax.swing.JTextField jTextField2;
    private javax.swing.JTextField jTextField3;
    private javax.swing.JTextField jTextField4;
    private javax.swing.JTextField jTextField6;
    private javax.swing.JTextField jTextField8;
    private javax.swing.JTextField jTextField9;
    public javax.swing.JTable jtItensVenda;
    private javax.swing.JTextField txtDesconto;
    private javax.swing.JTextField txtSubTotal;
    private javax.swing.JTextField txtTotal;
    // End of variables declaration
    }

Falha minha, confundi as janelas, é a TelaPesquisaVendas que queria, no poste anterior também tá errado:

Era a TelaPesquisaVendas. Desculpas.

Inicialize a TelaPesquisaVendas sem ser modal e sem exibir,

TelaPesquisaVendas telapesq = new TelaPesquisaVendas();
/* transfere */
String[] linha = obterLinha(jtItensVenda.getSelectedRow() , (DefaultTableModel)jtItensVenda.getModel());
adicionarLinha(linha, (DefaultTableModel)(telaesq.tabela.getModel())); // não sei o nome da variável da tabela

telapesq.setModal(true);
telapesq.setVisible(true);

e os métodos:

private String[] obterLinha(int indice, DefaultTableModel model) {
    String[] linha = new String[5];
    linha[0] = model.getValueAt(indice, 0).toString();
    linha[1] = model.getValueAt(indice, 1).toString();
    linha[2] = model.getValueAt(indice, 2).toString();
    linha[3] = model.getValueAt(indice, 3).toString();
    linha[4] = model.getValueAt(indice, 4).toString();
    return linha;
}

private void adicionarLinha(String[] linha, DefaultTableModel model) {
    model.addRow(linha);
}