Assim,
preciso fazer um case de desligamento do sistema…(programa servidor)
o servidor informa todos os clientes conectados que o sistema sera desligado tal hora…
dai… quando faltar uns 5 minutos para o tempo chegar…
quero disparar um alerta…
“O sistema será desligado em 00:05:00 \nSalve o que estiver fazendo.”
e dai fica ali… sem poder fechar a mensagem… com o tempo rolando…
alguem pode dar uma luz de como ficará o codigo ?
         
        
          
        
           
           
           
         
         
            
            
          
       
      
        
        
          cara, se eu fosse usuário deste sistema ficaria puto, mas te ajudando, se você estiver utilizando uma camada física adicional você poderia utilizar o TimeService, caso contrário o Quartz irá te ajudar melhor neste caso
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          fala fael
me ajudando denovo 
Bah, ficaria puto
srsarhsairsa
mas é que assim.
o sistema tem que ser desligado em alguns momentos…
por ex para atualizações…
entao tenho que parar o servidor…
atualizar e restartar…
n posso so derrubar os usuarios … dai vo enviar uma mensagem avisando…
dei uma lida no timerSession que vc passou…
isso ja atende uma parte do que eu preciso…
cabei de olhar … mais tarde vo implementar…
vo dar mais uma olhada pra ver como funciona a parte do tempo rolando…
pode mandar uma dica de qual OptionPane usar ?
tipo… um InformMessage…
mas n quero q ele de ok… nem possa fazer nada com a mensagem…
ou fecha o sistema… ou fica olhando pra mensagem…
com o tempo decrescendo ate o sistema se fechar…
…
tem essa parte do tempo decrescendo tbm…
q n sei direito o que fazer…
vo criar um MessageTimer ? ^^ um option com um label q vai se atualizando ?
vlw
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          paralizar o sistema enquanto o usuário está usando não é nada bom, apenas para casos de problemas emergenciais de infra-estrutura, e mesmo assim, ainda para estes casos, devem ser planejados com antecedência e agendados em horários onde quase não há uso, falando a verdade para o usuário, por exemplo ::
o usuário não tem nada a ver com isso. já pensou você acessando seu e-mail e uma contagem destas de repente iniciar paralisando tudo, sem ao menos poder salvar e tal.
eu acho que no seu caso você poderia utilizar o java web start, pois antes de iniciar a aplicação, ele já checa para você de novas atualizações, garantindo que o cliente está executando a versão mais atual do seu projeto
lembre-se uma atualização emergencial não-preventiva é uma atualização não planejada
mais sobre java web start
http://delicious.com/popular/webstart
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          realmente eu intendo isso …
mas ha casos…
que por alguma falha … geralmente nos testes…
ten-se que corrigir com urgencia um bug do sistema…
e eu tenho que atualizar.
restartar o servidor…
e nessa o cliente eh desconectado…
ai quero avisar primeiro o usuario…
tal hora o sistema vai cair…
ou entao…
daki tantos minutos…
posso lançar um aviso dizendo que o sistema vai ser atualizado as 10 da manha…
e se alguem tiver conectado…
quando for 5 pras 10…
quero lançar essa mensagem…
"faltam 5 minutos para atualização do sistema… salve e feche o que esta fzdo…"
e quero que a tela fike ali…
com o tempo correndo…
o usuario vai salvando o que tem pra fazer…
mas a mensagem ta ali…
com o tempo correndo.
obrigado pelas dicas 
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          Resolvido.
Para criar um painel de mensagem sem os Minimizar, Maximizar, Fechar.
usei um JDialog
Colokei ele bem no canto…
com uma mensagem… TextArea.
e um JLabel + JTextField mais abaixo…
o textField é o tempo decrescendo…
        Timer t = null;
        actionTimer aTimer = new actionTimer(miliseg, tfTime, principal);
        t= new Timer(1000, aTimer);
        aTimer.setTimer(t);
        t.start();
Usei a classe Timer da “javax.swing” para ficar decrementando o tempo de 1 em 1 segundo.
  /**
     * Action Listener que atualiza o tempo que falta pra desligar.
     */
    private class actionTimer implements ActionListener {
    	/** TextField que contem o tempo*/
    	private JTextField tfTimer;
    	/** tempo faltante em milisegundos */
    	private long time;
    	/** usado para rodar o relogio regressivo*/
    	private Calendar date;
    	
    	private Timer timer;
    	private FramePrincipal f;
    	
    	public actionTimer(long time, JTextField tf, FramePrincipal f) {
	    	this.time = time;
	    	this.tfTimer = tf;
	    	date = Calendar.getInstance();
	    	this.f = f;
    	}
    	
    	public void setTimer(Timer t) {
    		this.timer = t;
    	}
    	
    	/** Diminui o contador até chegar em 0.
    	 *  O contador representa o tempo faltante para desligamento do sistema.
    	 */
		public void actionPerformed(ActionEvent e) {
			time -= 1000;
			date.set(Calendar.HOUR, 0);
			date.set(Calendar.MINUTE, 0);
			date.set(Calendar.SECOND, 0);
			date.setTimeInMillis(date.getTimeInMillis() + time);
			
			DateFormat df = SimpleDateFormat.getTimeInstance();
			tfTimer.setText(df.format(date.getTime()));
			if(time <= 0) {
				timer.stop();
				MessagesDialog.warningMessage("Saindo do sistema \n\nRazao:\n" +msg);
				f.actionSair();
			}
		}
    	
    }
Vlw ae.
e para quem pecisar um dia ta ai o codigo.