i trying make login picture application using timer
. idea is, when user opens application, see picture 5 seconds, application start.
i tried, can see in method shoutoff()
:
/* * change license header, choose license headers in project properties. * change template file, choose tools | templates * , open template in editor. */ package login; import java.awt.event.actionevent; import java.awt.event.actionlistener; import javax.swing.timer; /** * * @author isslam */ public class login extends javax.swing.jframe { timer time; /** * creates new form login */ public login() { initcomponents(); setlocation(350, 200); time = new timer(5000,new actionlistener() { @override public void actionperformed(actionevent e) { dispose(); } }); time.setrepeats(false); } public void shoutoff(){ if (!time.isrunning()) { time.start(); } } /** * method called within constructor initialize form. * warning: not modify code. content of method * regenerated form editor. */ @suppresswarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="generated code"> private void initcomponents() { jlabel1 = new javax.swing.jlabel(); setdefaultcloseoperation(javax.swing.windowconstants.exit_on_close); setalwaysontop(true); setcursor(new java.awt.cursor(java.awt.cursor.default_cursor)); setlocationbyplatform(true); setundecorated(true); setresizable(false); jlabel1.seticon(new javax.swing.imageicon("c:\\users\\isslam\\desktop\\one_piece_marble_play_by_iviarker-d511vb0.jpg")); // noi18n javax.swing.grouplayout layout = new javax.swing.grouplayout(getcontentpane()); getcontentpane().setlayout(layout); layout.sethorizontalgroup( layout.createparallelgroup(javax.swing.grouplayout.alignment.leading) .addcomponent(jlabel1) ); layout.setverticalgroup( layout.createparallelgroup(javax.swing.grouplayout.alignment.leading) .addcomponent(jlabel1) ); pack(); }// </editor-fold> /** * @param args command line arguments */ public static void main(string args[]) { /* set nimbus , feel */ //<editor-fold defaultstate="collapsed" desc=" , feel setting code (optional) "> /* if nimbus (introduced in java se 6) not available, stay default , feel. * details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ try { (javax.swing.uimanager.lookandfeelinfo info : javax.swing.uimanager.getinstalledlookandfeels()) { if ("nimbus".equals(info.getname())) { javax.swing.uimanager.setlookandfeel(info.getclassname()); break; } } } catch (classnotfoundexception ex) { java.util.logging.logger.getlogger(login.class.getname()).log(java.util.logging.level.severe, null, ex); } catch (instantiationexception ex) { java.util.logging.logger.getlogger(login.class.getname()).log(java.util.logging.level.severe, null, ex); } catch (illegalaccessexception ex) { java.util.logging.logger.getlogger(login.class.getname()).log(java.util.logging.level.severe, null, ex); } catch (javax.swing.unsupportedlookandfeelexception ex) { java.util.logging.logger.getlogger(login.class.getname()).log(java.util.logging.level.severe, null, ex); } //</editor-fold> /* create , display form */ java.awt.eventqueue.invokelater(new runnable() { public void run() { new login().setvisible(true); new login().shoutoff(); } }); } // variables declaration - not modify private javax.swing.jlabel jlabel1; // end of variables declaration }
start creating timer
once in constructor. timer
should, also, make current instance of login
close
public login() { //... time = new timer(5000,new actionlistener() { @override public void actionperformed(actionevent e) { dispose(); } }); timer.setrepeats(false); }
in shoutoff
method, start timer...
public void shoutoff(){ if (!time.isrunning()) { timer.start(); } }
take closer @ how use swing timers more details.
you might have read through code conventions java tm programming language, make easier people read code , read others