Hei. Boa tarde
Sou iniciante no Universo Java e estou trabalhando, com a ajuda de muitos aqui do Forum, num projeto de Jogo da Memória (pro meu neto - Acho que vou acabar doando esse garoto pra Nasa; kkk). Bem Existe um cronometro no canto da tela e sob o mesmo, alguns (04) pequenos botoes sobre os quais, ao PASSAR (mover) o mouse devo mostrar os respectivos titulos de cada botão (btnStart, btnPause, btnReset e btnClose) em um JLabel (lblTitle).
Simplesmente não tenho nada para mostrar além da imagem.
Essa função se chama tooltip, basta fazer o set do texto que você quer mostrar.
{btnStart.setToolTipText("BtnStart");}
PapaiLu
Mas Ele (neto) quer que o nome do botão apareça no label.
Quando passar o mouse sobre o botão, o nome deste botão aparece no label.
Villagram
Dentro do botão?
PapaiLu
Passe a seta do mouse sobre o botão e mostre o nome deste botão dentro do label
PapaiLu
isso é sem ter que clicar no botão. Apenas passando o mouse sobre…
D
Daniel95
Utilize um Mouse Listener no seu JLabel, o listener possui os eventos mouseEntered(MouseEvent e) quando o usuário entra na área do JLabel com o mouse e evento mouseExited(MouseEvent e) quando ele sai.
PapaiLu
vixi. Acho que estou tentando isso ai. kkkk
Mas ainda nem entendi nada.
PapaiLu
Olha.
O JLABEL é quem vai receber e exibir os nomes dos botoes. Ele não é ativo neste momento e sim só os JButtons que vão ter a seta do mouse sobre eles.
D
Solucao aceita
Daniel95
A tá, foi mal achei que você estava utilizando JLabels com as cores e um JTextField pra exibir a mensagem… Coloca um Listener em cada JButton que você quer colocar a mensagem no JLabel, quando entra você coloca a mensagem que deseja pra este botao, e quando sai, tira a mensagem:
button.addMouseListener(newMouseAdapter(){@OverridepublicvoidmouseEntered(MouseEvente){label.setText("mostra a msg");}@OverridepublicvoidmouseExited(MouseEvente){label.setText("");}});