Como fazer uma jlabel mudar de cor quando passa o mouse

5 respostas
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.

5 Respostas

fernandopaiva

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+

Nicolas_Fernandes
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!

jonatha_java

valeu ajudaram bastante.

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

fernandopaiva

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