Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Ruben_Barbosa

[Resolvido]TransFerir Dados de um JTable para um JtextField de uma Outra Frame

Mensagens Recomendadas

Ruben_Barbosa

Bom dia precisava de transferir Dados de um Jtable para uns Jtextfields que estão noutra frame.

Mas não sei ao certo fazer isso.

Comecei com este Codigo

JConsulta = (DefaultTableModel) this.jTableArtigos.getModel();

        int[] select = this.jTableArtigos.getSelectedRows();//captura as linhas selecionadas
        int Empty = this.jTableArtigos.getRowCount();
        JFrameArtigos fa = new JFrameArtigos();


        //Modo como Selecionar a Linha
//        ListSelectionModel selectionModel = new DefaultListSelectionModel();
//        selectionModel.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

        //validação se Jtable esta vazia ou Não
        if (Empty == 0) {
            JOptionPane.showMessageDialog(null, "Nenhuma celula selecionada.", "Informação", JOptionPane.INFORMATION_MESSAGE);
        } else {

              for (int i = (select.length - 1); i >= 0; --i) {
                        Object valorActual =  select[i];
                        fa.setTxtCodArt((JTextField) valorActual);
                }
            }

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
mribeiro

Parto do principio que queres passar os dados para a JFrameArtigos certo?

Então podes alterar o construtor da mesma para receber um objecto do tipo de dados que devolve o "this.jTableArtigos.getRowCount();" (de cor não sei qual é)

Depois no construtor (ou onde quiseres) podes tratar essa informação

Espero ter ajudado  :confused:

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Knitter

Duas JFrames na mesma aplicação? Aí está uma situação menos correcta. De qualquer modo, ou usas o contrutor, como o mribeiro te indicou, ou simplesmente adicionas um método às classe para onde queres passar os dados, afinal é para isso que os métodos servem :confused:

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Ruben_Barbosa

Knitter é errado porque :S LOL.

Entao eu tenho um botão onde carrego e abre me um frame com Artigos e o que eu quero é se selecionar esse artigos ele passa o artigo para a frame respectiva para fazer requisicao :|.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Knitter

Para passares valores entre as frames usa métodos, é para isso que servem, basta que na frame ocm Artigos tenhas uma variável para a frame a quem queres passar os artigos. Dependendo de como o código estiver estruturado, essa variável pode ser preenchida no construtor da frame dos artigos ou com um método set.

Uma JFrame, se é que é isso que estás a usar, porque o termo "frame" é algo dúbio, é um componente de topo, é o componente principal de uma aplicação e deve ser único, não devem existir duas JFrames. O componente representa toda a aplicação, tem uma iniciação mais lenta que os outros componentes e regista mais informações no SO que os outros componentes, além de ter comportamento específico por ser o tipo de componente de topo que é. Ter duas é duplicar o esforço que depois não é rentabilizado.

Usas uma JFrame para a janela principal da aplicação e JDialog para qualquer outra janela que seja para abrir a partir da aplicação principal, dos seus menus, botões, atalhos ou outra interacção que exista na aplicação. As JDialogs permitem fazer janelas quase como as JFrames, são similares em quase tudo o que oferecem ao programador mas são mais simples, mais leves, e mais adequadas ao comportamento que estás a tentar fazer.

Claro que tudo com JFrame funciona, não há razão para não funcionar, mas não é adequado.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Ruben_Barbosa

Ok :confused:.

Mas eu nao tou a ver como irei fazer isso :|.

Tou no evento click sem duvida mas quero passar a informção dessa Jtable para outra frame :|.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Knitter

//evento clique da janela com Artigos...
//processar os artigos seleccionados....
//....

janelaPrincipal.adicionarArtigos(artigosSeleccionados);

//...

Vou assumir que tens uma JFrame, de nome Main e que nessa janela tens os JTextFields. É também dessa janela que instâncias a janela de artigos, denominada Artigos.

//instanciar a janela de artigos e passar uma referência para a janela principal:
new Artigos(this).setVisible(true);

//na classe Main ter um método para receber os dados
public void adicionarArtigos(Object[] dados) {
    //colocar os valores nas caixas de texto...
}


//no construtor de Artigos:
private Main janelaPrincipal;

public Artigos(Main janelaPrincipal) {
this.janelaPrincipal = janelaPrincipal;
}

Naturalmente tens de adaptar o código ao teu caso, mas a ideia base é simplesmente teres um método que receba os dados, e teres uma variável para puderes invocar esse método. Dúvidas?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.