Como passar metodos e variaveis para outra View

Seguinte Galera possuo o seguinte código

[code] private boolean recuperarPedido(int pCodigo) {
try {
int codigoProduto;
modelVendas.setCodigo(pCodigo);
//recupera os dados do banco
modelVendas = controllerVendas.getVendasController(pCodigo);
//seta os dados na interface
this.cbCodCliente.setSelectedItem(modelVendas.getClientesCodigo());
this.tfNumeroVenda.setText(String.valueOf(modelVendas.getCodigo()));
this.tfDesconto.setText(String.valueOf(modelVendas.getDesconto()));
this.tfValorTotal.setText(String.valueOf(modelVendas.getValorTotal()));
this.jcbTipoPagamento.setSelectedItem(controllerTipoPagamento.getFormaPagamentoController(modelVendas.getTipoPagamento()).getDescricao());
this.tfObservacao.setText(modelVendas.getObservacao());
//recupera os dados do banco
listaModelVendasAlterar = controllerVendas.getListaVendasController(pCodigo);
//carregar lista de produtos da venda
DefaultTableModel modelo = (DefaultTableModel) tbProdutos.getModel();
modelo.setNumRows(0);

        int cont = listaModelVendasAlterar.size();
        String unidadeMedida="";
        String fornecedor="";
        for (int i = 0; i < cont; i++) {
            codigoProduto = listaModelVendasAlterar.get(i).getProdutosCodigo();
            modelProdutos = controllerProdutos.getProdutosController(codigoProduto);
            unidadeMedida = controllerUnidadeMedia.getUnidadeMediaController(modelProdutos.getUnidadeMedida()).getAbreviacao();
            fornecedor = controllerFornecedor.getFornecedorProdutoController(codigoProduto).getNome();
            modelo.addRow(new Object[]{
                listaModelVendasAlterar.get(i).getProdutosCodigo(),
                modelProdutos.getNome(),
                fornecedor,
                listaModelVendasAlterar.get(i).getValor(),
                listaModelVendasAlterar.get(i).getQuantidade(),
                listaModelVendasAlterar.get(i).getQuantidade() * listaModelVendasAlterar.get(i).getValor(),             
                unidadeMedida
            });
        }     
        return true;
    } catch (Exception e) {
        System.out.println(e);
        JOptionPane.showMessageDialog(null, "Código inválido ou nenhum registro selecionado", "Aviso", JOptionPane.WARNING_MESSAGE);
        return false;
    }
}[/code]

private void retornarClientePeloCodigo(){ modelCliente = controllerCliente.getClienteController(Integer.parseInt(cbCodCliente.getSelectedItem().toString())); //recupera o nome this.cbClientes.setSelectedItem(String.valueOf(modelCliente.getNome())); this.tfEndereco.setText(modelCliente.getEndereco()); this.tfBairro.setText(modelCliente.getBairro()); this.tfEstado.setText(controllerEstado.getEstadoController(modelCliente.getCodEstado()).getUf()); this.tfCidade.setText(controllerCidade.getCidadeController(modelCliente.getCodCidade()).getNome()); this.tfTelefone.setText(modelCliente.getTelefone()); this.tfCpfCnpj.setText(modelCliente.getCpfCNPJ()); this.tfObservacaoCliente.setText(modelCliente.getObservacao()); }

[code] private void btAlterarActionPerformed(java.awt.event.ActionEvent evt) {
//recebe a linha selecionada
int linha = this.tbConsultasPedidos.getSelectedRow();
//pega o codigo na linha selecionada

    int pCodigo = (Integer) tbConsultasPedidos.getValueAt(linha, 0);
    tipoCadastro = "Alterar";
    
   //recupera os dados do pedido para adicionar ao estoque
    
     this.recuperarPedido(pCodigo);
    
  //recupera cliente
    retornarClientePeloCodigo();[/code]

Porem criei um Sistema Com 2 Views um que fica o botão Alterar
ViewProdutos vai ter apenas o Botão alterar

[code]
int linha = tbOs.getSelectedRow();

    String nome = (String) tbOs.getValueAt(linha, 1);
    codigo = (Integer) tbOs.getValueAt(linha, 0);

e a CadProdutos os metodos

Alguem pode me ajudar como posso fazer para colocar os codigo nessas 2 Views