正在写一个简易银行卡管理程序,基本功能已经完成,现在想要完成的是:
当用户1分钟内没有操作的话,就弹出警告对话框,然后自动logout!相关的类主要有:MainFrame.java(主界面、JFrame)、ValidateUser.java(JPanel,已添加到MainFrame的contentPane上)、其它功能(存、取款、查询、转账等,也都是JPanel)
我目前的想法是:MainFrame中写一个后台线程(名字是:timeLimited,我把它设置为了public static,以便在ValidateUser中执行操作)(设一个变量operTime=60,线程运行时,不断重复operTime--、TimeUnit.SECONDS.sleep(1);直到为0,强制logout)监视用户操作(主要是按钮、文本框输入,MainFrame中一旦有actionPerformed、keyPressed操作,就让线程wait();一旦有keyReleased,就notify,重新计时)ValidateUser中的登录、logout按钮也要实现对此记时线程的控制
由于对线程、锁的概念掌握还不好,用的语句都是timeLimited.wait();timeLimited.notify();(我知道这样不对,但不知道具体怎么改)     运行时产生异常:
Exception in thread "Thread-5" java.lang.IllegalMonitorStateException
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at Main.MainFrame.monitorWait(MainFrame.java:215)
at Main.MainFrame$operateLimited.run(MainFrame.java:72)
at java.lang.Thread.run(Thread.java:619)求教:如何解决问题?!谢谢……(最好能给出线程相关的代码)