GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

[RESOLVIDO] Aparecer mensagem e sumir depois de m tempo


#1

Eu preciso que a mensagem “Jogo salvo com sucesso.” apareça na tela quando apertar uma tecla e dure alguns segundos.


#2

Cara, eu uso uma API muito boa pra notificação, ela faz esse fadeout de notificação. O nome é: JNotify.

Ex de uso:

String msg = "Oi" 
 new NoticeWindow(NoticeType.SUCCESS_NOTIFICATION, msg, NoticeWindow.LONG_DELAY, NPosition.BOTTOM_RIGHT);

O NPosition é o lugar onde a notificação vai aparecer, se quer no centro, troca o BOTTOM_RIGHT pra CENTER.

LONG_DELAY é o tempo, o long é o mais demorado, tem o SHORT_DELAY que é mais curto.

NoticeType é a cor da notificação, eu não lembro agora quais são as opções, mas se vc der um Ctrl espaço ele mostra as opções lá na ide.


#3

Boa noite amigo.

Usar um framework é bem melhor, mas se estava procurando um código mais básico, ai está:

public class Teste1 {

public static void main(String[] args) {
    Timer timer = new Timer();
    JFrame frame = new JFrame("Jogo salvo!");
    frame.setSize(250, 100);
    frame.setUndecorated(true);
    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    Dimension d2 = new Dimension((d.width - frame.getWidth()) / 2, (d.height - frame.getHeight()) / 2);
    frame.setLocation(d2.width, d2.height);
    JLabel label = new JLabel();
    label.setSize(250, 100);
    label.setHorizontalAlignment(JLabel.CENTER);
    label.setText("Jogo salvo com sucesso!");
    frame.add(label);
    frame.setVisible(true);
    TimerTask task = new TimerTask() {
        @Override
        public void run() {
            frame.dispose();
            timer.cancel();
        }
    };
    timer.schedule(task, 5000L);
}

}

Essa tela abre e fecha em 5 segundos.


#4

Obrigado por vocês me ajudarem!