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 ?
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 ?
[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]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
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???
[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;}