primeiramente me desculpe a ignorância e obrigado pela atenção, estou precisando do seguinte:
Eu tenho 3 frames: frame01, frame02, frame03…
preciso pegar o valor de uma variavel que esta declarada no frame 01 desta forma:
[code]public static String janela;
//metodos get e set
public static String getJanela() {
return janela;
}
public static void setJanela(String janela) {
AreadeTrabalho.janela = janela;
}
[/code]
no frame 02 eu preciso mudar o valor desta variavel, Exemplo: eu preciso passar o valor “cadastro” para a variavel “janela” do frame01, e para fazer isso estou usando o metodo set.
e o problema é que eu preciso pegar esse valor(cadastro) que foi setado pelo frame02 na variavel do frame01, eu preciso pegar o valor dela no frame03 e não estou conseguindo.
Como eu faço pessoal? eu preciso instancia ela em qual classe? eu estou instanciando em todas e por isso esta ficando null;
Obrigado pessoal e desculpe-me a forma de pergunta.
Basta que o frame em questão tenha referencia ao atributo do objeto frame1 … acho que não ficou claro, segue uns códigos para exemplificar. Removi métodos dispensáveis para a explicação.
public class FramePrincipal {
private Frame1 frame1;
private Frame2 frame2;
private Frame3 frame3;
public FramePrincipal() {
frame1 = new Frame1();
frame2 = new Frame2(this);
frame3 = new Frame3(this);
}
public void teste() {
frame2.alteraFrame1Janela();
frame3.lerFrame1Janela();
}
public Frame1 getFrame1() { return frame1; }
public void setFrame1(Frame1 frame1) { this.frame1 = frame1; }
public static void main(String[] args) {
FramePrincipal framePrincipal = new FramePrincipal();
framePrincipal.teste();
}
}
public class Frame1 {
String janela;
public String getJanela() {return janela;}
public void setJanela(String janela) {this.janela = janela; }
}
public class Frame2 {
FramePrincipal framePrincipal;
public Frame2(FramePrincipal framePrincipal) {
this.framePrincipal = framePrincipal;
}
public void alteraFrame1Janela() {
System.out.println("Método em Frame2 alterando texto da variavel cadastro em Frame1");
framePrincipal.getFrame1().setJanela("cadastro");
}
}
public class Frame3 {
FramePrincipal framePrincipal;
public Frame3(FramePrincipal framePrincipal) {
this.framePrincipal = framePrincipal;
}
public void lerFrame1Janela() {
System.out.print("Frame3 lendo a variavel janela do Frame1: ");
System.out.print(framePrincipal.getFrame1().getJanela());
}
}