private void runTime() {
final Action taskPerformer = new AbstractAction() { private static final long serialVersionUID = 1L; public void actionPerformed(ActionEvent evt) {
Display.getDefault().syncExec(new Runnable() {
public void run(){
//执行内容
} ;
}
}; timer = new Timer(1000, taskPerformer);
timer.start();
这是我的一段代码,写在一个界面上的。当这个界面打开时,就调用这个方法,在页面上实现每秒执行一次操作。后来扩展功能,当从这个页面跳转到别的页面时,我用的是shell.dispose(),将这个页面关闭。当我再次进入这个页面时,页面上的元素都在,但是就是不再执行这个操作,不知道是什么原因。求高手帮忙,能不能实现当我第二次进入这个界面时能够重新启动这个timer?谢谢!在线等。
final Action taskPerformer = new AbstractAction() { private static final long serialVersionUID = 1L; public void actionPerformed(ActionEvent evt) {
Display.getDefault().syncExec(new Runnable() {
public void run(){
//执行内容
} ;
}
}; timer = new Timer(1000, taskPerformer);
timer.start();
这是我的一段代码,写在一个界面上的。当这个界面打开时,就调用这个方法,在页面上实现每秒执行一次操作。后来扩展功能,当从这个页面跳转到别的页面时,我用的是shell.dispose(),将这个页面关闭。当我再次进入这个页面时,页面上的元素都在,但是就是不再执行这个操作,不知道是什么原因。求高手帮忙,能不能实现当我第二次进入这个界面时能够重新启动这个timer?谢谢!在线等。
进入这个页面的那段代码呢?
*……#(@&%(
算了,我猜测下吧
用sendredirect重定向url,提交方式post
或者直接在js里面用onclick写个方法,方法中用return xxx;false的方法
如果想实现下面的功能,该如何进行?1、A界面上有一个timer,只要打开了A界面就开始运行此timer,使界面上存在的一个数字从0开始反复加1。
2、timer的run()中有一个判断,当界面上的数字超过1000时,将此界面关闭或者dispose(),开启另外一个界面进行别的操作。在此之前停止timer工作。
3、在另一个界面操作完毕之后,重新打开A界面,需要timer立刻重新启动开始工作。谢谢!使用的是SWT Designer, 界面的打开方式:
A a = new A();
a.open();
public void open() {
final Display display = Display.getDefault();
createContents();
shell.open();
shell.layout();
runTime();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
你把代码贴全一些.
A a = new A();
a.open();
public void open() {
final Display display = Display.getDefault();
createContents();
shell.open();
shell.layout();
runTime();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
如果是这样的话.. 你只是在启动的时候runTime(); 了一次. 再切回来肯定 runTime 就不会再启动了.
你切换的时候要能再执行一次 runTime();
使用的是SWT Designer, 界面的打开方式:
A a = new A();
a.open();
public void open() {
final Display display = Display.getDefault();
createContents();
shell.open();
shell.layout();
runTime();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
如果是这样的话.. 你只是在启动的时候runTime(); 了一次. 再切回来肯定 runTime 就不会再启动了.
你切换的时候要能再执行一次 runTime(); 这个好像要的