ActionListeners, várias atualizações de campo e recarregando seleções da GUI do usuário de um arquivo

Eu tenho vários lugares onde eu converto entre um sistema de coordenadas e outro. Em cada caso, há um cálculo de cosseno / seno entre, vamos chamá-los de x, ye x ', y'. Estes são todos os JFormattedTextFields.

Se o usuário digitar um valor em qualquer um dos 4, um ActionListener será chamado. Vamos chamar os campos fieldx, fieldy, fieldx1 e fieldy1. Se o usuário digitar algo em fieldx ou fieldy, EU TENHO o teclado e concentrei os ouvintes (o mesmo para todos os quatro campos) que atualizariam fieldx1 e fieldy1 a partir dos valores atuais em fieldx e fieldy. Se a chamada para o ouvinte for de fieldx1 ou fieldy1, ele calculará fieldx e fieldy.

Decidi salvar os campos escolhidos (incluindo várias caixas de seleção ativadas / desativadas e alguns valores de spinners) em um arquivo de configuração (novo requisito após o desenvolvimento). Eu pensei que, definindo valores e estados, tudo ficaria bem, mas certas coisas não estavam acontecendo (nos bastidores). Decidi que parte disso é que os métodos acionados por várias checagens e entradas e etc. não estavam acontecendo porque os campos não acionavam o teclado e focavam os ouvintes quando eram definidos por um pedaço de código.

Depois de ler on-line, mudei todo o KeyboardAdapter para ActionListener e, depois de definir o valor, chamo postActionEvent () nos campos que mencionei acima, e agora tudo acontece em segundo plano (embora a ordem seja um problema e vou salvar informações adicionais sobre atualize isso corretamente). Fiz essa alteração porque achei que seria mais difícil disparar tantos eventos de teclado falsos?

Provavelmente existem maneiras mais inteligentes / inteligentes de fazer isso, mas por enquanto estou tentando não tocar muito no código.

Alguém tem alguma sugestão de como salvar o estado de um painel e atualizá-lo (o objeto atual, o painel)?

Se eu continuar fazendo isso dessa maneira, alguém pode sugerir uma maneira de MINIMIZAR as vezes que o ActionListener é acionado? Parece disparar tantas vezes que é ridículo!

Em vez disso, devo fazer as coisas sugeridas aqui?

Sua classe deve implementar ActionListener ou usar um objeto de uma classe ActionListener anônima

Isso parece muito mais codificação envolvido, mas muito mais preciso no que desencadeia quando ...

Se esse tipo de pergunta / discussão estiver fora de lugar aqui, deixe-me saber :). Apenas digitar esta página me fez pensar em mais coisas para ler e experimentar.

questionAnswers(1)

yourAnswerToTheQuestion