Boa Noite 
Está é minha primeira participação no guj,
já o utilizei para tirar dúvidas várias vezes pesquisando,
mas uma coisa que eu to querendo, não encontrei em lugar nenhum de uma forma mais simples.
Que é criar um JLabel que fica piscando, não tenho conhecimento avançado em java,
mas queria colocar no meu trabalho da faculdade, já tentei com laços de repetição de diversas formas, mas nada.
Quem tiver uma solução que possa me ajudar agradeceria muito.
Criar um JLabel que pisca pra chamar atenção. Como?
4 Respostas
Seja bem vindo ao GUJ.
Achei uma ideia interessante e resolvi brincar um pouco para tentar achar uma solução. Não sei se ficou da maneira mais correta ou mais fácil, mas deve servir para dar uma ideia. Basicamente seria uma thread que chama o método setVisible da label.
Thread thread = new Thread(new Runnable() {
public void run() {
try {
while (true) {
EventQueue.invokeLater(new Runnable() {
public void run() {
labelAlerta.setVisible(!labelAlerta.isVisible());
}
});
Thread.sleep(1000); //Tempo em milisegundos para exibir e ocultar a label
}
} catch (InterruptedException ex){
ex.printStackTrace();
}
}
});
thread.setDaemon(true);
thread.start();
Falou…
public void piscandoLabel(int seconds) {
Timer timer = new Timer();
timer.schedule(new RemindTask(),0, seconds*500);
}
class RemindTask extends TimerTask {
public void run() {
if (true) {
SEU_LABEL.setVisible(!SEU_LABEL.isVisible());
}
}
}
Timer timer;
// Timer timer = new Timer();
// para
timer = new Timer();
public void timerStop(){
timer.cancel();
SEU_LABEL.setVisible(true);
}
acredito que um metodo mais simples e claro, seria utilizando Timer…
segue minha proposta;
class RemindTask extends TimerTask { public void run() { if (true) { SEU_LABEL.setVisible(!SEU_LABEL.isVisible()); } } }
Tinha esquecido do método isVisible. hehe
Coloquei no meu post lá em cima.
Falou…
Demorei pra responder, hehe.
Obrigado a todos.
Eric Yuzo a forma como vc fez deu certo para o que eu queria.
E a do Fabio ta legal também, mas não funcionou não sei pq.