我在复合材料中创建了一个标签,现在我需要每隔60秒更改一次标签,那么我们该如何做呢。用于创建标签的代码示例如下。
Label status = new Label(rightCompositeStatusbar, SWT.NONE);
status.setText("save successful");
所以现在60secs之后必须更改标签名称。 请帮帮我。
答案 0 :(得分:0)
使用Display#timerExec(int, Runnable)
:
在经过指定的毫秒数后,由用户界面线程调用runnable的run()方法。如果毫秒小于零,则不执行runnable。
请注意,在调用runnable时,可能已经处理了将接收器作为其显示的小部件。因此,有必要在访问窗口小部件之前检查runnable中的这种情况。
public static void main(String[] args)
{
final Display display = new Display();
Shell shell = new Shell();
shell.setLayout(new FillLayout());
final Label status = new Label(shell, SWT.NONE);
status.setText("0");
display.timerExec(100, new Runnable()
{
int i = 1;
@Override
public void run()
{
if(!status.isDisposed())
status.setText(i++ + "");
display.timerExec(100, this);
}
});
shell.pack();
shell.open();
while (!shell.isDisposed())
{
if (!display.readAndDispatch())
{
display.sleep();
}
}
display.dispose();
}