Caption do JLabel

olá galera estou iniciando no java com uma aplicação pequena fiz uma classe de eventos de um Jlabel e quando eu clicko no Jlabel eu quero mudar o caption dele .

na classe da interface eu ja criei os Get e os Sets porem dentro da classe de eventos eu nao consigo acessar eles para mudar o titulo do Jlabel . Como posso fazer estou com a estrutura de projeto errada ?

É um projeto Swing, não é ?

Tem algum evento associado ao JLabel ? Crie um evento do mouse e trate lá dentro.

Marcio

[quote=marcioa1]É um projeto Swing, não é ?

Tem algum evento associado ao JLabel ? Crie um evento do mouse e trate lá dentro.

Marcio

[/quote]

CARA JA TEM OS EVENTOS ASSOCIADOS A ELE O PROBLEMA É QUE DENTRO DA CLASSE DE EVENTOS EU NAO CONSIGO ACESSAR OS GETS E SETS DA CLASSE DE INTERFACE COMO POSSO FAZER ?

Bom, comece respeitando as leis do forum e não usando letras maiúsculas nas suas perguntas…

Qto a sua dúvida, normalmente qdo crio a classe Listener passo pra ela como parâmetro a classe de interface. Desta forma, de dentro da classe Listener eu posso acessar qq coisa que esteja como public dentro da classe interface.

Bom, comece respeitando as leis do forum e não usando letras maiúsculas nas suas perguntas…

Qto a sua dúvida, normalmente qdo crio a classe Listener passo pra ela como parâmetro a classe de interface. Desta forma, de dentro da classe Listener eu posso acessar qq coisa que esteja como public dentro da classe interface.[/quote]

mas como passo a classe de interface como parametro ?

Um exemplo…

Sua classe da tela:

[code]public class Tela extends javax.swing.JInternalFrame {
public TelaActionListener actionListener;

public Tela(){
    actionListener = new TelaActionListener(this); // estou passando esta classe por parâmetro
    ...
}

public int getValor(){
    return 0;
}

}
[/code]

Na sua classe listener:

[code]public class TelaActionListener implements ActionListener{

Tela tela;

public TelaActionListener(Tela tela){ // recebo a tela como parâmetro
    this.tela = tela;
}

public void meuMetodo(){
    int x = tela.getValor(); // estou usando o get que está na tela
}       

}[/code]

[quote=RenataFA]Um exemplo…

Sua classe da tela:

[code]public class Tela extends javax.swing.JInternalFrame {
public TelaActionListener actionListener;

public Tela(){
    actionListener = new TelaActionListener(this); // estou passando esta classe por parâmetro
    ...
}

public int getValor(){
    return 0;
}

}
[/code]

Na sua classe listener:

[code]public class TelaActionListener implements ActionListener{

Tela tela;

public TelaActionListener(Tela tela){ // recebo a tela como parâmetro
    this.tela = tela;
}

public void meuMetodo(){
    int x = tela.getValor(); // estou usando o get que está na tela
}       

}[/code][/quote]

certo mais no evento estou fazendo assim tela.setlbl1(“meu caption”) ai esta dando pau

Evento?! Que evento? O que é evento pra vc?!

"está dando pau" -> que pau? Qual o erro? É um erro de compilação? É um erro de execução? É uma exception?

Seja mais específico, senão fica impossível de ajudarmos…

Estou no MouseClicked de uma JLabel e preciso Setar o texto dela.

Como Posso Fazer Isso???

Melhor Dizendo eu tenho uma classe com JLabel e tenho outra Classe com os “Eventos” (o Click do JLabel) , gostaria que quando eu click na JLabel ele jogue um Valor Texto para essa JLabel, mas não estou conseguindo jogar o Valor da Classe de “Eventos”. Como posso fazer isso???

Exemplo completo:

class Janela extends JFrame{
public JLabel label1;
   public Janela(){
      label1 = new JLabel("Texto Antigo");
      getContentPane().add(label1);
      label1.addMouseListener(new MyMouseListener(this));
      setVisible(true);
      pack();
   }
   public static void main(String...args){
     new Janela();
   }
}

public class MyMouseListener extends MouseAdapter{
   private Janela janela;
   public MyMouseListener(Janela j){ janela = j;}

   @Override
   public void mouseClicked(MouseEvent event){
      if(event.getSource() == janela.label1)
         label1.setText("Texto Novo");
   }
}

[quote=Mark_Ameba]Exemplo completo:

[code]
class Janela extends JFrame{
public JLabel label1;
public Janela(){
label1 = new JLabel(“Texto Antigo”);
getContentPane().add(label1);
label1.addMouseListener(new MyMouseListener(this));
setVisible(true);
pack();
}
public static void main(String…args){
new Janela();
}
}

public class MyMouseListener extends MouseAdapter{
private Janela janela;
public MyMouseListener(Janela j){ janela = j;}

@Override
public void mouseClicked(MouseEvent event){
if(event.getSource() == janela.label1)
label1.setText(“Texto Novo”);
}
}
[/code][/quote]

vlew deu certo muito obrigado …