Mega Code Archive

 
Categories / Java Tutorial / SWT 2D Graphics
 

Drawing Points, Lines and set line width

drawLine() takes four integers that define two Cartesian points, relative to the upper-left corner of the component. 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 DrawPointLineWidth {   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) {         Canvas canvas = (Canvas) e.widget;         int maxX = canvas.getSize().x;         int maxY = canvas.getSize().y;         int halfX = (int) maxX/2;         int halfY = (int) maxY/2;         e.gc.setForeground(e.display.getSystemColor(SWT.COLOR_BLUE));         e.gc.setLineWidth(10);         e.gc.drawLine(halfX, 0, halfX, maxY);         e.gc.drawLine(0, halfY, maxX, halfY);       }     });     shell.open();     while (!shell.isDisposed()) {       if (!display.readAndDispatch()) {         display.sleep();       }     }     display.dispose();   } }