Mudar propriedade

14 respostas
E

pessoal, como faço para mudar a propriedade de um label que se encontra em outro formulario?

14 Respostas

J

como assim mudar o status do label?!
tem como colocar uma parte do codigo pra dar uma olhada??
valeww!

E

desculpe… Tenho um label na TelaPrincipal chamado lblconexao que me traz o status da conexao: “Conectado”
tenho uma classe chamada conexao, gostaria que quando a conexao fosse aberta o label mostrasse:“Conectado” e o mesmo para “Desconectado”.

J

edsouzza:
desculpe… Tenho um label na TelaPrincipal chamado lblconexao que me traz o status da conexao: “Conectado”
tenho uma classe chamada conexao, gostaria que quando a conexao fosse aberta o label mostrasse:“Conectado” e o mesmo para “Desconectado”.

Uma forma de fazer é modificando a TelaPrincipal dentro da classe conexão criando um construtor na classe conexão para receber a TelaPrincipal

Dentro da TelaPrincipal voce vai ter que criar um metodo publico pra poder setar o lblconexao como esse

public void setLabelConex(String status){

lblconexao.settext(status);

}

Então na classe conexao ao conectar vc seta o label pra “Conectado” e o mesmo pra quando desconectar…

espero ter ajudado…

josenaldo

Outra forma é fazer a classe conexão lançar eventos e fazer a classe Tela um dos possiveis ouvintes… Mais flexivel e conexão nao fica dependente da Tela em si. E a tela nao rpecisa expor um atributo sem necessidade

E

Ok, no Delphi eu referenciaria o formulario, o componente e mudaria a propriedade diretamente, isso não acontece no Java?

M

Você poderia fazer assim, na classe do formulário (supondo que seu label chame-se status):

public void setStatusText(String texto) {
    this.status.setText(texto);
}

Aí, basta chamar esse método de uma outra classe qualquer:

TelaPrincipal t = new TelaPrincipal();

if (conectado) {
    t.setStatusText("Conectado");
} else {
    t.setStatusText("Desconectado");
}

Algo assim. Captou a idéia?

J

Cara, gostei dessa sua ideia! e isso é o tipo d coisa que da outra cara mesmo, bem mais elegante de resolver…vc teria algum exemplo pra ficar + claro pra mim?! valew Josenaldo…

josenaldo

Cara, gostei dessa sua ideia! e isso é o tipo d coisa que da outra cara mesmo, bem mais elegante de resolver…vc teria algum exemplo pra ficar + claro pra mim?! valew Josenaldo…

Dá uma olhada aí. O projeto abre no netbeans 6.5, mas só precisa olhar mesmo os fontes na pasta src.

Abraços

E
marcobiscaro2112, em cima do que voce escreveu eu criei isso dentro da classe TelaPrincipal
public void Mostra_Status(String texto) {   
    this.lbl_status.setText(texto);   
}
e isso dentro do meu metodo conecta
public boolean conecta()
    {        
        boolean result = true;
        
        try
        {
            Class.forName(driver);
            conexao = DriverManager.getConnection(url,usuario,senha);            
            JOptionPane.showMessageDialog(null,"Banco de Dados conectado!!!");
           
            TelaPrincipal tela = new TelaPrincipal();              
            tela.Mostra_Status("conectado");                   
        }
        catch(ClassNotFoundException Driver)
        {
            JOptionPane.showMessageDialog(null,"Driver não localizado"+Driver);
            result = false;
        }
        catch(SQLException Fonte)
        {
            JOptionPane.showMessageDialog(null,"Erro na conexão" + 
                                               "com a fonte de dados: "+Fonte);
            result = false;
        }
        
        return result;
        
    }

mas nada acontece, ou seja quando conecta o JOptionPane funciona mas o label nao informa nada :cry:

josenaldo

Vc apenas criou o formulário, mas não o tornou visivel.

Cuidado com essa solução, pois sua classe Conexão se tornou dependente do formulário.

Assim, se vc quiser reaproveitá-la, terá que mexer no código dela…

E

Olá, josenaldo alguma dica de como resolver isso?
Aproveitando a oportunidade, achei uma beleza o seu site, muito proveitoso pra que esta começando como eu.

Grato. :wink:

josenaldo

edsouzza:
Olá, josenaldo alguma dica de como resolver isso?
Aproveitando a oportunidade, achei uma beleza o seu site, muito proveitoso pra que esta começando como eu.

Grato. :wink:

Ué, eu deixei um exemplo prontinho… Olha mais acima…

E

Ok. vou estudar e tentar implementar com suas dicas.

grato.

josenaldo

Olha o exemplo q postei mais acima. Tah implementado direitinho.

Criado 20 de dezembro de 2008
Ultima resposta 23 de dez. de 2008
Respostas 14
Participantes 4