
使用其他线程来执行此任务。如果在主UI线程中执行此 *** 作,则它将冻结。例如,您可以执行以下 *** 作
new Thread() { @Override public void run() { try { Thread.sleep(Integer.parseInt(delayField.getText()) * 1000); System.out.println("Hello!"); } catch (InterruptedException ex) { Thread.currentThread().interrupt(); } } }.start();更新
在对Robin和Marko提出明智建议之后,我正在用更好的解决方案来更新答案。
ActionListener taskPerformer = new ActionListener() { public void actionPerformed(ActionEvent evt) { System.out.println("Hello!"); } }; javax.swing.Timer t = new javax.swing.Timer(Integer.parseInt(delayField.getText()) * 1000, taskPerformer); t.setRepeats(false); t.start();欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)