Java tutorial
//Send questions, comments, bug reports, etc. to the authors: //Rob Warner (rwarner@interspatial.com) //Robert Harris (rbrt_harris@yahoo.com) import org.eclipse.swt.SWT; import org.eclipse.swt.events.*; import org.eclipse.swt.layout.*; import org.eclipse.swt.widgets.*; /** * This class demonstrates drawing polygons */ public class PolygonExample { private Text txtWidth = null; private Text txtHeight = null; /** * Runs the application */ public void run() { Display display = new Display(); Shell shell = new Shell(display); shell.setText("Polygon Example"); createContents(shell); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } display.dispose(); } /** * Creates the main window's contents * * @param shell the main window */ private void createContents(Shell shell) { shell.setLayout(new FillLayout(SWT.VERTICAL)); // Create the canvas to draw the polygons on Canvas drawingCanvas = new Canvas(shell, SWT.NONE); drawingCanvas.addPaintListener(new PolygonExamplePaintListener()); } /** * This class gets the user input and draws the requested oval */ private class PolygonExamplePaintListener implements PaintListener { public void paintControl(PaintEvent e) { // Get the canvas for drawing and its dimensions Canvas canvas = (Canvas) e.widget; int x = canvas.getBounds().width; int y = canvas.getBounds().height; // Set the drawing color e.gc.setBackground(e.display.getSystemColor(SWT.COLOR_BLACK)); // Create the points for drawing a triangle in the upper left int[] upper_left = { 0, 0, 200, 0, 0, 200 }; // Create the points for drawing a triangle in the lower right int[] lower_right = { x, y, x, y - 200, x - 200, y }; // Draw the triangles e.gc.fillPolygon(upper_left); e.gc.fillPolygon(lower_right); } } /** * The application entry point * * @param args the command line arguments */ public static void main(String[] args) { new PolygonExample().run(); } }