Pegar texto (Jlabel) de um Jframe aberto e enviar para outro Jframe
7 respostas
java
araujors
Boa noite Pessoal,
Estou com uma duvida, preciso ler os dados de um Jlabel de um Jframe que esta em aberto, quando eu chamar no Jmenu outro Jframe ele precisa saber o que esta escrito no que esta em aberto. Hoje eu consigo fazer isso por exemplo no login, mas de um Jframe aberto nunca fiz. Alguem tem alguma dica? Estou fazendo no Netbeans.
Tem tantos exemplos disso na internet e no google, o que você não conseguiu fazer, seguindo estes exemplos?
araujors
Po amigão me expressei mal, na verdade quero saber se consigo desabilitar (enable(false)) um botão de outro jframe, tenho um Jcheckbox que qero desabilitar, tipo eu sei o usuario que esta logado, conforme exemplo abaixo no case 6 o botão é de outro jframe que vai abrir, como desabilito o mesmo.
publicvoidperfil_Usuario(){try{this.con=database.getConnection();Statementstm=con.createStatement();Stringsql="select tab_perfil.perfil as perfilUser from tab_perfil where tab_perfil.usuario='"+nome_Usuario.toLowerCase()+"'";try(ResultSetrows=stm.executeQuery(sql)){intnum=0;if(rows.next()){num=rows.getInt("perfilUser");switch(num){case1://ADMINISTRADORbreak;case2://ENFERMAGEMbreak;case3://EXAMESbreak;case4://FARMACEUTICObreak;case5://MEDICObreak;case6:cmdMedicoEspec.setEnabled(false);break;}System.out.println(num);}}}catch(Exceptionex){Logger.getLogger(Form_Principal.class.getName()).log(Level.SEVERE,null,ex);}}
darlan_machado
Tudo segue o mesmo princípio e pode ser resolvido pela implementação do pattern observer.
Ao invés de passar um valor de um jframe pra outro, você avisa o jframe cujo botão deve ser desabilitado ou habilitado que essa ação deve ocorrer.
araujors
Poderia me citar um exemplo, tipo como utilizo a função pattern
darlan_machado
Cara, pattern não é uma função.
Em uma tradução livre, pattern é padrão.
Existe todo um grupo de padrões de desenho (design patterns), dentre os quais, existem o observer, o facade, o DAO, o strategy e assim por diante.
Cada qual irá focar em um modo de desenvolvimento a fim de solucionar determinado tipo de problema.
No teu caso, você precisa de um elemento que “vigie” o comportamento de um determinado recurso (mouse, botão, combobox, etc) de uma tela e quando a ação for executada, deverá avisar ao(s) interessado(s) que ela ocorreu, disparando, assim, a execução de outros métodos, desta vez, no(s) interessado(s).
marcospaulo.suporte
vc usa alguma IDE especifica ? NetBeans por exemplo fica fácil fazer isso.
Mas é importante que entenda a logica, imaginamos que eu tenha um frame chama ‘FrameTeste’ e dentro desse frame (classe) , eu tenha um javax.swing.JTextField:
Em qualquer outra classe do projeto, eu poderia definir o texto dele.
FrameTeste.tf_teste.setText("Meu texto");
araujors1 like
Muito obrigado pela explicação, mas no fim consegui, o meu erro estava em um dos jframes, pois quando eu carregava o perfil do usuário, eu fazia um select em 3 tabelas e umas da chamadas estava incorreta, agora funcionou direitinho, mas agradeço sua explicação e vou estudar esse seu exemplo para um futuro uso.