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á!
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.
como eu faço isso? como eu abro a jframe sem criar um objeto novo?
Posta o código que abre a outra JFrame
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);
}
Onde está o código da criação do objeto frame_Operacao?
no construtor.
public FrameBuscaSetor() {
initComponents();
atualizaLista();
frame_Operacao = new Frame_Operacao(this);
setIcon();
}
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.
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);
}
Ao invés disso
Com o novo construtor, faz isso
FrameBuscaSetor frameBuscaSetor = new FrameBuscaSetor(this);
Pronto.
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);
}
Se as alterações foram feitas conforme eu sugeri, deve funcionar.
eu fiz porem a hora que eu retorno a tela de operações todos jtext são limpos
Posta o código todo.
o código todo das duas classes?
vai dar 1100 linhas as duas