Repaint Canvas : Canvas « SWT « Java Tutorial






Repaint Canvas
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.PaintEvent;
import org.eclipse.swt.events.PaintListener;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Canvas;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class CanvasRepaint {
  public static void main(String[] args) {
    Display display = new Display();
    Shell shell = new Shell(display);
    shell.setText("Canvas Example");
    shell.setLayout(new FillLayout());

    Canvas canvas = new Canvas(shell, SWT.NONE);

    canvas.addPaintListener(new PaintListener() {
      public void paintControl(PaintEvent e) {
        e.gc.drawRoundRectangle(10, 10, 200, 200, 30, 30);
      }
    });

    
    canvas.redraw();
    
    
    shell.open();
    while (!shell.isDisposed()) {
      if (!display.readAndDispatch()) {
        display.sleep();
      }
    }
    display.dispose();
  }
}








17.20.Canvas
17.20.1.Repaint CanvasRepaint Canvas
17.20.2.Canvas: scroll an image (flicker free, no double buffering)Canvas: scroll an image (flicker free, no double buffering)
17.20.3.Add Traverse event to CanvasAdd Traverse event to Canvas
17.20.4.Add Controls to CanvasAdd Controls to Canvas
17.20.5.Add KeyEvent to CanvasAdd KeyEvent to Canvas