package org.eclipse.swt.examples.helloworld; | |
/* | |
* Copyright (c) 2000, 2002 IBM Corp. All rights reserved. | |
* This file is made available under the terms of the Common Public License v1.0 | |
* which accompanies this distribution, and is available at | |
* http://www.eclipse.org/legal/cpl-v10.html | |
*/ | |
import org.eclipse.swt.widgets.*; | |
import org.eclipse.swt.events.*; | |
import org.eclipse.swt.graphics.*; | |
import java.util.ResourceBundle; | |
/* | |
* This example builds on HelloWorld1 and demonstrates how to draw directly | |
* on an SWT Control. | |
*/ | |
public class HelloWorld5 { | |
private static ResourceBundle resHello = ResourceBundle.getBundle("examples_helloworld"); | |
public static void main (String [] args) { | |
Display display = new Display (); | |
Shell shell = new HelloWorld5 ().open (display); | |
while (!shell.isDisposed ()) { | |
if (!display.readAndDispatch ()) display.sleep (); | |
} | |
display.dispose (); | |
} | |
public Shell open (Display display) { | |
final Color red = new Color(display, 0xFF, 0, 0); | |
final Shell shell = new Shell (display); | |
shell.addPaintListener(new PaintListener () { | |
public void paintControl(PaintEvent event){ | |
GC gc = event.gc; | |
gc.setForeground(red); | |
Rectangle rect = shell.getClientArea(); | |
gc.drawRectangle(rect.x + 10, rect.y + 10, rect.width - 20, rect.height - 20); | |
gc.drawString(resHello.getString("Hello_world"), rect.x + 20, rect.y + 20); | |
} | |
}); | |
shell.addDisposeListener (new DisposeListener () { | |
public void widgetDisposed (DisposeEvent e) { | |
red.dispose(); | |
} | |
}); | |
shell.open (); | |
return shell; | |
} | |
} |