Ruben_Barbosa 0 Denunciar mensagem Publicado 1 de Junho de 2010 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 0 Denunciar mensagem Publicado 1 de Junho de 2010 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 Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
Knitter 102 Denunciar mensagem Publicado 1 de Junho de 2010 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 www.sergiolopes.eu Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
Ruben_Barbosa 0 Denunciar mensagem Publicado 1 de Junho de 2010 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 102 Denunciar mensagem Publicado 1 de Junho de 2010 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. www.sergiolopes.eu Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
Ruben_Barbosa 0 Denunciar mensagem Publicado 1 de Junho de 2010 Ok . 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 102 Denunciar mensagem Publicado 1 de Junho de 2010 //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? www.sergiolopes.eu Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
Ruben_Barbosa 0 Denunciar mensagem Publicado 9 de Junho de 2010 Já resolver e Obrigado Knitter mas nao fiz dessa forma . Cumps Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
Knitter 102 Denunciar mensagem Publicado 9 de Junho de 2010 O que não faltam são formas diferentes de resolver o problema , o que interessa é que esteja resolvido. www.sergiolopes.eu Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites