Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    49

    Java: Timer su jDialog

    Ciao a tutti
    qualcuno di voi sā se č possibile e come si fā per mettere un timer su una jDialog in java?
    In pratica ho l'esigenza di visualizzare un messaggio e per qs uso:
    codice:
    JOptionPane.showConfirmDialog(null, "xxxxxx", + Timer,"Attenzione",JOptionPane.YES_NO_OPTION,JOptionPane.NO_OPTION);
    ho previsto un thread separato per aggiornare la variabile Timer ma come possso fare in modo che il valore aggionato della variabile timer venga visualizzato anche sulla showConfirmDialog come se fosse un countdown.
    Sapete darmi una mano per favore?

    Grazie 1000

    Vbnet

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Prova a partire da qui.
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Ho spostato la discussione nel forum dedicato a Java.
    In futuro, poni qui le tue domande relative a questo linguaggio.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    49
    ok Alka
    anche se mi pareva di averla aperta nel forum di java
    Cmq Grazie

    Ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    49
    Ciao a tutti
    sto cercando creare una msgBox che visualizzi un timer ma ancora non funziona, non capisco dove sbaglio, qualcuno mi puoi aiutare?
    vi posto di seguito i codice:

    1) ho creato una classe MsgBox

    codice:
    
    public class MsgBox extends JDialog {
    
    	public MsgBox() {
    	}
    
    	public static void timedMessageBox(Component parentComponent,
    			Object message, String title, int messageType, long time) {
    		JOptionPane optionPane = new JOptionPane(message, messageType);
    		final JDialog dialog = optionPane.createDialog(parentComponent, title);
                    dialog.setVisible(true);
    	}
    
    }
    2) in un altra classe, quella principale, instanzio un oggetto della classe MsgBox e dō il suo metodo repaint in pasto ad un therad in questo modo

    //classe principale
    //...
    /...
    public MsgBox msgBox=new MsgBox();

    codice:
    msgBox.timedMessageBox(null, "This box will close automatically after seconds " + currentTimeMsgBoxCheck, "Timed message box", JOptionPane.INFORMATION_MESSAGE, currentTimeMsgBoxCheck);
    checkTimeMsgBoxThread();//chiamo il thread per fare il repaint su msgBox e aggiornare currentTimeMsgBoxCheck
    dove la var: "currentTimeMsgBoxCheck" non č altro che un long che viene valorizzato all'interno di un thread separato

    codice:
    public void checkTimeMsgBoxThread() {
    		parallelCheckTimeMsgBoxThread toRun = new parallelCheckTimeMsgBoxThread();
    		Thread startCheckMsgBoxConnection = new Thread(toRun);
    		startCheckMsgBoxConnection.start();
    	}
    	
    	public class parallelCheckTimeMsgBoxThread implements Runnable{
    		public void run() {
    			try {
    				while(true) {
    					Thread.sleep(1);
    					currentTimeMsgBoxCheck=System.currentTimeMillis()
    					msgBox.repaint();
    				}
    				
    			} catch (InterruptedException e) {
    				e.printStackTrace();
    			}
    			
    		}
    		
    	}
    praticamente la msgBox continua a riaprirsi e ad aggiornare la var "currentTimeMsgBoxCheck" tutte le vote che clicco sul tasto "Ok".
    Io invece vorrei che si aprisse una volta sola e mi facesse vedere il tempo che passa.
    Dove sbaglio?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.