[Resolvido] Manter dados em campo jtext

15 respostas Resolvido
java
J

Minha duvida e o seguinte eu tenho uma tela de cadastrado de operação e nela eu tenho que buscar outra tela para pegar um setor já cadastrado e voltar com o setor ate ai esta dando certo porem quando eu volto para tela de operações os campos já digitados são apagados tem como ao chamar a tela de busca de setor eu fixar os valores para que a hora que voltar ele estarem já!

15 Respostas

darlan_machado

Provavelmente, você está criando um novo objeto deste JFrame toda vez que fecha a janela adicional.
Precisa mudar isso, o objeto não poder mudar a cada ação realizada.

J

como eu faço isso? como eu abro a jframe sem criar um objeto novo?

darlan_machado

Posta o código que abre a outra JFrame

J

abre a busca setor:

private void btn_busca_setorActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

codoperacao = txt_cod_operacao.getText();

System.out.println(codoperacao);
FrameBuscaSetor frameBuscaSetor = new FrameBuscaSetor();
    frameBuscaSetor.setVisible(true);
    this.setVisible(false);

}

volta para a cadastro de operações.

private void tabelaSetorMouseClicked(java.awt.event.MouseEvent evt) {

// TODO add your handling code here:

int linha = tabelaSetor.getSelectedRow();

if (linha >= 0) {

String codsetor = String.valueOf(tabelaSetor.getValueAt(linha, 0));

int codInt = Integer.parseInt(codsetor);

SetorDao setorDao = new SetorDao();

Setor setor = setorDao.busca(codInt);

int ID_setor = setor.getID_setor();

String descricao = setor.getDescricao();
frame_Operacao.preencheIDsetor(ID_setor, descricao);

    }
    this.dispose();
    frame_Operacao.setVisible(true);
    this.setVisible(false);
}
darlan_machado

Onde está o código da criação do objeto frame_Operacao?

J

no construtor.

public FrameBuscaSetor() {
    initComponents();
    atualizaLista();
    frame_Operacao = new Frame_Operacao(this);
    setIcon();

}
darlan_machado

O ideal seria você ter um construtor que recebesse o objeto de Frame_Operacao como argumento

public FrameBuscaSetor(Frame_Operacao frameOp) {
    this.frame_Operacao = frameOp;
    //Demais ações do construtor.
}

Aí o problema estaria resolvido.

J

ok mai como eu passaria ele no operação?

private void btn_busca_setorActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

codoperacao = txt_cod_operacao.getText();

System.out.println(codoperacao);
FrameBuscaSetor frameBuscaSetor = new FrameBuscaSetor();
    frameBuscaSetor.setVisible(true);
    this.setVisible(false);

}
darlan_machado
Solucao aceita

Ao invés disso

Com o novo construtor, faz isso

FrameBuscaSetor frameBuscaSetor = new FrameBuscaSetor(this);

Pronto.

J

ok fiz oque você me disse mais não mudou nada.

tenho que mudar algo na hora de voltar para o operacao?

private void tabelaSetorMouseClicked(java.awt.event.MouseEvent evt) {

// TODO add your handling code here:

int linha = tabelaSetor.getSelectedRow();

if (linha >= 0) {

String codsetor = String.valueOf(tabelaSetor.getValueAt(linha, 0));

int codInt = Integer.parseInt(codsetor);

SetorDao setorDao = new SetorDao();

Setor setor = setorDao.busca(codInt);

int ID_setor = setor.getID_setor();

String descricao = setor.getDescricao();
frame_Operacao.preencheIDsetor(ID_setor, descricao);

    }
    this.dispose();
    frame_Operacao.setVisible(true);
    this.setVisible(false);
}
darlan_machado

Se as alterações foram feitas conforme eu sugeri, deve funcionar.

J

eu fiz porem a hora que eu retorno a tela de operações todos jtext são limpos

darlan_machado

Posta o código todo.

J

o código todo das duas classes?

vai dar 1100 linhas as duas

J

@darlan_machado você necessita das classes inteira?

Criado 16 de julho de 2018
Ultima resposta 17 de jul. de 2018
Respostas 15
Participantes 2