Como utilizar variáveis

10 respostas
M

Oi Pessoal,

Tenho um formulário que abre outro em seguida, através de um botão.
É possível utilizar no segundo uma variável (String, o texto digitado no JTextField) do formulário aberto anteriormente?

vlw! :wink:

10 Respostas

Tiago.Argolo

Define ela como static.

Tchello

Isso é gambiarra.

Passe por referência algum objeto de conversação entre os dois formulários, ou no máximo faça com que o formulário filho conheça o formulário pai mas quando for conveniente, pois isso também pode ser gambiarra.

Tiago.Argolo

Utilizar static é gambiarra? o0

Tchello

Tiago.Argolo:
Tchello:

Isso é gambiarra.

Utilizar static é gambiarra? o0

A torto e direito sim.
Static é um modificador que deve ser usado apenas sob supervisão de adultos, em situações mais raras e apenas quando for estritamente necessário.
Para troca de informações entre formulários o modificador static não é a solução mais viável.
Antes de sair usando esse modificador (e qualquer outro) tenha em mente as consequências que isso acarretará.

Tiago.Argolo

Uhum. da prox vez chamarei um adulto antes de utilizar static.

Só faltou tu falar o porque de achar uma gambiarra, antes de falar que é não a solução mais viável.

luizalbsilva

Bom, sem querer me meter, mas já me metendo, trata-se de uma gambi pq, uma variável estática será compartilhada entre todos os elementos daquela classe… ou seja, se você tiver mais de uma instância desse relatório aberta, uma instância está influenciando em outra, causando um efeito colateral nem sempre desejado. É bom dosar o uso por este motivo: nem sempre você pode ter certeza de como estará sendo utilizado. Claro, se for a única pessoa a meter a mão no código, não estiver programando dentro de uma empresa, vá em frente… desde que tenha boa memória ;).

Tiago.Argolo

Agora sim. Muito obrigado por esclarecer, Luizalbsilva. Pois, como todos aqui devem saber, em qualquer fórum antes de julgar a resposta de alguém deve ser esclarecido o porque daquele julgamente.

Obrigado. Até mais!

Tchello

Vamos, lá, me diga por que sugiriu a utilização do modificador static.
Depois pense em como é o funcionamento desse static.
Daí basta avaliar se era realmente usar “isso tudo” para simplesmente compartilhar informação entre os formulários.

Static garantirá que haverá apenas uma e sempre uma instância daquele cara, mas e se for o caso de querermos duas janelas pai e suas respectivas filhas? As janelas pai compartilharão aquele recurso e teremos um belo problema de acesso concorrente.
Tudo isso por conta da má utilização de recursos da linguagem.
É mais fácil usar static? com certeza, mas as consequências podem ser desastrosas, ainda mais em sistemas web (ai o bixo pega) e multi-usuário. Pode não ser o caso do nosso colega, mas convém que aprendamos corretamente desde o início, sou veementemente contra o pensamento que diz “vai assim mesmo, ele ta aprendendo ainda”.

Tiago.Argolo

Tchello:
Vamos, lá, me diga por que sugiriu a utilização do modificador static.
Depois pense em como é o funcionamento desse static.
Daí basta avaliar se era realmente usar “isso tudo” para simplesmente compartilhar informação entre os formulários.

Static garantirá que haverá apenas uma e sempre uma instância daquele cara, mas e se for o caso de querermos duas janelas pai e suas respectivas filhas? As janelas pai compartilharão aquele recurso e teremos um belo problema de acesso concorrente.
Tudo isso por conta da má utilização de recursos da linguagem.
É mais fácil usar static? com certeza, mas as consequências podem ser desastrosas, ainda mais em sistemas web (ai o bixo pega) e multi-usuário. Pode não ser o caso do nosso colega, mas convém que aprendamos corretamente desde o início, sou veementemente contra o pensamento que diz “vai assim mesmo, ele ta aprendendo ainda”.

Mais uma vez, obrigado pelo esclarecimento Tchello. É que para mim, eu só vou aprender se souber em o que eu estiver errado concorda? Então eu precisava dessa sua explicação pra assim aceitar que seria uma gambiarra. Até mais.

luizalbsilva

Realmente, variáveis estáticas públicas nunca utilizei sem que fossem final… ou sejam, constantes. Uma variável estática não final não deveriam ser acessadas publicamente, e são poucos os casos para sua utilização… na verdade, acho que somente usei para criação de SINGLETONS. O grande problema da programação é que normalmente não sabemos onde nossa classe poderá ser usada… ambientes mais ‘hardcore’ poderiam colocar abaixo nossa utilização. Lembre-se que hoje sua classe pode estar no seu desktop… amanhã num servidor jee clusterizado :slight_smile:

Criado 29 de maio de 2010
Ultima resposta 29 de mai. de 2010
Respostas 10
Participantes 4