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(); } }
18.5.Line | ||||
18.5.1. | Draw line | |||
18.5.2. | Drawing multiple lines | |||
18.5.3. | Drawing Points, Lines and set line width | |||
18.5.4. | Draw a thick line | |||
18.5.5. | Setting Line caps | |||
18.5.6. | Line Join Style: JOIN_BEVEL, JOIN_MITER, JOIN_ROUND |