Como fazer uma jlabel mudar de cor quando passa o mouse

5 respostas
J

Ola pessoal
gostaria de saber ser existe algum evento para que quando eu passa o mouse sobre a jlabel ela mudar de cor e fica subrinhada.

obs: minha aplicação e desktop.

5 Respostas

F

bom, se estiver usando NetBeans, basta vc colocar o evento de mouse e setar o setForeground() do seu JLabel.

private void jLabel4MouseEntered(java.awt.event.MouseEvent evt) {
jlabel.setForeground();
}

private void jLabel4MouseExited(java.awt.event.MouseEvent evt) {
jlabel.setForeground();
}

ai qdo passar o mouse vc coloca o entered e no exited vc coloca pra voltar ao normal.

t+

N
jonatha java:
Ola pessoal gostaria de saber ser existe algum evento para que quando eu passa o mouse sobre a jlabel ela mudar de cor e fica subrinhada.

obs: minha aplicação e desktop.


Exatamente como o FernandoPaiva disse. Como eu penso que você não está usando o Matisse do Netbeans, você deverá fazer da seguinte forma:

1. Crie uma classe que implemente MouseListener. Essa interface é responsável pela escuta dos eventos do mouse;
public class CorLabelMouseListener implements MouseListener {
}
2. Sobrescreva os métodos dessa interface, mas faça uso somente de dois: mouseEntered e mouseExited.
public class CorLabelMouseListener implements MouseListener {

    public void mouseEntered(MouseEvent event) {
    }
    public void mouseExited(MouseEvent event) {
    }
}
3. Faça com que, no método mouseEntered, ele mude a cor como você propôs no seu tópico. No mouseExited, faça com que o Label volte à cor normal.
public class CorLabelMouseListener implements MouseListener {

    public void mouseEntered(MouseEvent event) {
        meuLabel.setForeground(Color.RED);
    }
    public void mouseExited(MouseEvent event) {
        meuLabel.setForeground(Color.BLACK);
    }
}
4. Por fim, adicione esse Listener ao seu label:
JLabel labelQueMudaDeCor = new JLabel("Meu Label que muda de cor!");
labelQueMudaDeCor.addMouseListener(new CorLabelMouseListener());

Espero ter ajudado, abraços!

J

valeu ajudaram bastante.

so ficou faltando uma coisa como faz para fica sublinhado as palavras do jLabel.
mais por fim obrigado.

F

para sublinhado basta vc colocar da msm maneira como trocar o foreground, mas trocando a font para ficar sublinhada.

eh isso…t+

R

olá pessoal, então continuando o desafio da criação do boneco quero mover as coordenas de acordo com o movimento do mouse, isso eu já consigo. Mas agora quero mudar a cor das coordenadas quando for clicada e que pare de move determinada coordenada para eu movimentar a outra. Ex: movimento um braço, agora quero que esse pare para que eu possa movimentar o próximo, detalhe já consigo movimentar um braço. Tem como me mandar algo pra eu estudar?
com aimlpementação desses métodos consigo movimentar parte do boneco
detalhe, estou usando o Jpanel

<a class="mention" href="/u/override">@Override</a>

public void mouseClicked(MouseEvent e) {

//throw new UnsupportedOperationException(“Not supported yet.”);

y = e.getY();

x = e.getX();

this.repaint();

}

// pressionada

<a class="mention" href="/u/override">@Override</a>

public void mousePressed(MouseEvent e) {

// throw new UnsupportedOperationException(“Not supported yet.”);

}

// Largar

<a class="mention" href="/u/override">@Override</a>

public void mouseReleased(MouseEvent e) {

//throw new UnsupportedOperationException(“Not supported yet.”);

}

//inserir

// Faça com que, no método mouseEntered, ele mude a cor

//como você propôs no seu tópico. No mouseExited, faça com que o Label volte à cor normal.

<a class="mention" href="/u/override">@Override</a>

public void mouseEntered(MouseEvent e) {

// throw new UnsupportedOperationException(“Not supported yet.”);
}

//sair

<a class="mention" href="/u/override">@Override</a>

public void mouseExited(MouseEvent e) {

// throw new UnsupportedOperationException(“Not supported yet.”);

}
Criado 20 de agosto de 2011
Ultima resposta 22 de set. de 2013
Respostas 5
Participantes 4