Duvida com Jdialog

6 respostas
java
Savitzki

Como posso pegar um Jdialog já aberto e através de outro só jogar pra frente? tem como fazer isso ou preciso instanciar uma nova tela.

6 Respostas

rodriguesabner

Olá @Savitzki seja bem vindo(a). Pelo que entendi, você quer voltar o foco (traze-lo novamente para a frente) para um JDialog que já está aberto?

Ou quer chamar um novo JDialog?

Explique melhor a sua dúvida, por favor!

Savitzki

Eu tenho uma aplicação que deve fazer o monitoramento de acesso ao um local, isso por meio de veículos. Eu tenho telas de cadastro e nessas telas tem um botão “pesquisar” que mostra um Jtable com todos os objetos cadastrados(Serializados) e nessa tela tem um botao que serve para editar os atributos do objeto. Preciso passar os valores da linha selecionada do jtable para a tela de cadastro para editar e salvar novamente.

rodriguesabner

Certo,

você pode passar os parâmetros via construtor (modo mais fácil):

public class JFrame2 extends javax.swing.JFrame {

public JFrame2(String placa_veiculo) {
    initComponents();
    meu_jtextField_placa.setText(placa_veiculo);
}

Pra chamar esse JFrame, vc chama assim:

String placa = "ABC-1234";
new JFrame2(placa).setVisible(true);

Você pode fazer isso dinamicamente com a sua tabela, evento do mouse na mesma, pega os dados, passando pra uma String/List:

jTable1.addMouseListener(new MouseAdapter() {
    public void mouseReleased(MouseEvent evt) {
        String nome = "alguma_coisa_da_sua_tabela";
    }
});

e com um duplo clique você abre o seu JDialog/JFrame

if(evt.getClickCount() == 2){
  //código
   String placa = "ABC-1234";
   new JFrame2(placa).setVisible(true);
}
Savitzki

Ta, eu entendi o que demonstrou. obrigada

staroski

Tem como fazer, é só você ter uma referência ao JDialog que abriu.
Pode fazer isso através de passagem de parâmetros ou através de uma classe controladora, o que você achar mais conveniente.

Savitzki

Pensei nisso, mas como sou iniciante com java então não sei como fazer isso.

Criado 26 de junho de 2019
Ultima resposta 26 de jun. de 2019
Respostas 6
Participantes 3