public PointsDatavis open() {
new Thread(new Runnable() {
@Override
public void run() {
final int ms = 1000 / 50;
final Display display = new Display();
final Shell shell = new Shell(display, SWT.SHELL_TRIM & ~SWT.RESIZE);
final Canvas canvas = new Canvas(shell, SWT.DOUBLE_BUFFERED);
canvas.addPaintListener(PointsDatavis.this);
canvas.setSize(512, 512);
shell.setText("MDS");
shell.pack();
shell.open();
display.timerExec(ms , new Runnable() {
@Override
public void run() {
if (shell.isDisposed()) return;
canvas.redraw();
display.timerExec(ms, this);
}
});
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
System.exit(-1);
}
}).start();
return this;
}