Armazenar e fixar valor em variável

Estou criando uma tela na qual o usuário vai/pode alterar algumas coisas através de jTextFields. A minha ideia é que, em outra tela, esses valores aparecam em um jLabel. Ok, sem problemas, consegui passar o valor de um jTextField de uma tela pra um jLabel de outra. Porém, esse valor só aparece no jLabel se eu abro a tela onde está o TextField e salvo. Ou seja, cada vez é necessário abrir a tela de “alteracao” e salvar pra que o valor apareca no jLabel.

Minha dúvida é: Como fazer pra que esses valores dos jTextFields, uma vez salvos, fiquem fixos nas variáveis que jogam os valores pros jLabels? Ou seja, o usuário salvou uma vez os jTextFields com os dados que quer e pronto, vao estar sempre nas variáveis da outra tela.

Onde e como você está salvando esses valores?

Nao to com meu computador/código na mao agora, por isso nao tenho o código exato pra passar, mas é assim:Tenho uma classe modelo onde estao os getters e setters dos valores. Estou jogando os dados da TelaA para TelaB.

Na TelaA, estao alguns textFields pro usuário alterar se assim desejar. Tem um botao salvar que, até o momento, apenas joga esses dados pra TelaB. Dentro do botao:

ClasseModelo model = new ClasseModelo();

model.setDadoExemplo(Double.parseDouble(jTextFieldExemplo.getText()));
TelaB telaB = new TelaB();
telaB.exportarDados(model);
telaB.setVisible(true); // O usuario muda o quer e ao salvar volta pra tela principal

Na tela B, tenho um método que “puxa” os dados.

public void exportarDados(ClasseModelo model){

jLabelExemplo.setText(String.valueOf(model.getDadoExemplo()));

}

Aí o jLabel aparece com o dado digitado no TextField da TelaA. Meu problema é que nao sei como salvar de fato, ou seja, manter o valor digitado no TextField “eternamente” numa variável da TelaB. Teria que criar uma variável que receberia o valor do TextField. Essa parte aí é que tá pegando.

Como jogar pra uma variável da outra tela de maneira que o valor fique salvo nessa variável sempre?

PS: Perdao por qualquer erro grosseiro, to nesse processo de aprender Java, foi a maneira que parecia mais lógica na minha cabeca. Qualquer sugestao pra mudar a forma é bem vinda.

Salve os valores num arquivo e carregue os quando for mostrar a tela.

1 curtida

Nao entendi, cara. Que tipo de arquivo?

Tem como explicar com mais detalhes, por favor?

Qualquer arquivo: TXT, JSON, etc…

Ou você pode simular o processo de salvar num arquivo caso esteja apenas praticando:

public class Armazenamento {
    private static String textoSalvo = "";
    
    public static String getTextoSalvo() {
        return textoSalvo;
    }

    public static void salvarTexto(String t) {
        textoSalvo = t;
    }
}
1 curtida

@Lecobo

Eu acredito que esse post pode te ajudar.

um abraço-

1 curtida