Duvida em relação a multiplas telas em Swing e Threads

11 respostas
wippeldigo

Ae manos, sou novo no forum eu o visito a tempo porem so agora criei minha conta e ja lanço minha duvida…
Em relação a trabalhar com varias telas no swing, por exemplo estou desenvolvendo um sistema pra controle de produção e cada sinal recebido incrementa 1 na
caixa de texto de produção, dia, hora e assim vai… Enfim eu gostaria de saber se to correto em usar Threads juntamente com
laço de repetição infinito para ir incrementando nas caixas automaticamente a cada sinal recebido…??

E tambem outra duvida, por exemplo, pelo menos aqui de acordo com minhas pesquisas e extendido o Jframe e feito toda a tela pelo constructor da classe ai e so
instanciar a classe onde a hr que quiser criar a tela, se estiver errado minha logica eu gostaria que alguem me ajudasse uma forma mais certa ou facil porque se
essa logica estiver ‘correta’ porque estou passando um sufoco para ‘trocar dados’ entre as telas porque nao e possivel cria um novo objeto por ex: Classe classe = new Classe() ai tipo como a tela e feita no constructor e obvio que fazendo isso cria a tela novamente, e é ai que esta o problema por ex tenho a Classe1(Tela1) e a Classe2(Tela2) ai eu preciso de um valor que é digitado no JText na Classe2 e ao clicar o botao esse valor vai pra onde eu preciso na Classe1… e assim vai.

Agradeço desde já

11 Respostas

JuniorMaia

para passar dados de uma janela para outra, utilize JDialog, existem vários exemplos disso no google e aqui no fórum, da uma pesquisada

wippeldigo

Blz, vlw cara
mas e o seguinte, eu acabei de descobrir aqui (não sei como não sabia disso antes, nunca tinha usado) que da pra cria uma Classe privada dentro de outra classe, ai deu certo para passar dados certinho e fazendo isso vai facilitar muito pra min, mas eu queria saber se e recomendavel fazer dessa forma…?! Vlw

wippeldigo

up

ViniGodoy

Comunicação de dados entre duas janelas: http://www.guj.com.br/java/55710-jdialog-devolvendo-valor-pra-jinternalframe#292687
Timers e threads (veja que também há 2 posts na página seguinte): http://www.guj.com.br/java/52964-captando-a-hora-do-sistema-no-modelo-hhmmss#279083

wippeldigo

Vlw pela força, mas eu tb queria saber se estou certo em criar uma outra Tela2(Classe extends JFrame) dentro da propria Tela1(Classe extends JFrame)
que preciso do valor preenchido da Tela 2 para a Tela 1 ao clicar no botão entende?!

lina

wippeldigo:
Vlw pela força, mas eu tb queria saber se estou certo em criar uma outra Tela2(Classe extends JFrame) dentro da propria Tela1(Classe extends JFrame)
que preciso do valor preenchido da Tela 2 para a Tela 1 ao clicar no botão entende?!

Oi,

Neste caso é indiferente. Basta passar a referencia da classe Tela1 para a Tela2 e utiliza-la neste controle.

Tchauzin!

wippeldigo

lina:
wippeldigo:
Vlw pela força, mas eu tb queria saber se estou certo em criar uma outra Tela2(Classe extends JFrame) dentro da propria Tela1(Classe extends JFrame)
que preciso do valor preenchido da Tela 2 para a Tela 1 ao clicar no botão entende?!

Oi,

Neste caso é indiferente. Basta passar a referencia da classe Tela1 para a Tela2 e utiliza-la neste controle.

Tchauzin!

Sim, entendo, mas se eu iniciar dessa forma >> Classe1 classe = new Classe1();, fazendo isso criava a tela denovo… e se fazia dessa forma >> Classe1 classe; estorava NullPointerExcepiton, por isso eu tava com esse problema do qual citei la em cima

ViniGodoy

wippeldigo:
Vlw pela força, mas eu tb queria saber se estou certo em criar uma outra Tela2(Classe extends JFrame) dentro da propria Tela1(Classe extends JFrame)
que preciso do valor preenchido da Tela 2 para a Tela 1 ao clicar no botão entende?!

É possível, mas deixa o código porco. Crie um arquivo para cada tela.

lina
wippeldigo:
lina:
wippeldigo:
Vlw pela força, mas eu tb queria saber se estou certo em criar uma outra Tela2(Classe extends JFrame) dentro da propria Tela1(Classe extends JFrame) que preciso do valor preenchido da Tela 2 para a Tela 1 ao clicar no botão entende?!

Oi,

Neste caso é indiferente. Basta passar a referencia da classe Tela1 para a Tela2 e utiliza-la neste controle.

Tchauzin!

Sim, entendo, mas se eu iniciar dessa forma >> Classe1 classe = new Classe1();, fazendo isso criava a tela denovo.. e se fazia dessa forma >> Classe1 classe; estorava NullPointerExcepiton, por isso eu tava com esse problema do qual citei la em cima

Oi,

Você está esquecendo dos conceitos. Você tem duas telas:

public class Tela1 extends JFrame {

}

public class Tela2 extends JFrame {

}

Dentro da Tela1, você chamaria a Tela2 da seguinte maneira:

public class Tela1 extends JFrame {

   new Tela2(this).setVisible(true);

}

E o construtor da sua Tela2 teria um argumento do tipo Tela1.

Tchauzin!

wippeldigo
lina:
wippeldigo:
lina:
wippeldigo:
Vlw pela força, mas eu tb queria saber se estou certo em criar uma outra Tela2(Classe extends JFrame) dentro da propria Tela1(Classe extends JFrame) que preciso do valor preenchido da Tela 2 para a Tela 1 ao clicar no botão entende?!

Oi,

Neste caso é indiferente. Basta passar a referencia da classe Tela1 para a Tela2 e utiliza-la neste controle.

Tchauzin!

Sim, entendo, mas se eu iniciar dessa forma >> Classe1 classe = new Classe1();, fazendo isso criava a tela denovo.. e se fazia dessa forma >> Classe1 classe; estorava NullPointerExcepiton, por isso eu tava com esse problema do qual citei la em cima

Oi,

Você está esquecendo dos conceitos. Você tem duas telas:

public class Tela1 extends JFrame {

}

public class Tela2 extends JFrame {

}

Dentro da Tela1, você chamaria a Tela2 da seguinte maneira:

public class Tela1 extends JFrame {

   new Tela2(this).setVisible(true);

}

E o construtor da sua Tela2 teria um argumento do tipo Tela1.

Tchauzin!

Desculpa mas eu não to entendendo porque olha só,
minhas Classe são assim..

public class TrocarBobina extends JFrame {

//aqui vao os atributos..

//e o cosntrutor
public TrocarBobina(){
		super("Trocar bobina");
		Container tela = getContentPane();
		setLayout(null);

ai no caso, de qualquer forma que eu referencio para acessar o atributos da outra classe acaba criando outra tela.

wippeldigo

up :frowning:

Criado 19 de setembro de 2012
Ultima resposta 21 de set. de 2012
Respostas 11
Participantes 4