20.08.2012 Aufrufe

8 Das SWT

8 Das SWT

8 Das SWT

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

import java.util.ArrayList;<br />

import java.util.Iterator;<br />

import org.eclipse.swt.<strong>SWT</strong>;<br />

import org.eclipse.swt.awt.<strong>SWT</strong>_AWT;<br />

import org.eclipse.swt.events.*;<br />

import org.eclipse.swt.graphics.*;<br />

import org.eclipse.swt.layout.*;<br />

import org.eclipse.swt.widgets.*;<br />

public class <strong>SWT</strong>2D {<br />

// Shell für Popup-Editor<br />

Shell eShell = null;<br />

// Text-Widget für Editor<br />

Text eText = null;<br />

// Liste eingegebener Zeichenketten<br />

ArrayList wordList = new ArrayList(12);<br />

public static void main(String[] args) {<br />

<strong>SWT</strong>2D swtawt = new <strong>SWT</strong>2D();<br />

swtawt.run();<br />

}<br />

8.8 Ein Widget mit Swing<br />

Zunächst wird die <strong>SWT</strong>-Shell erzeugt. Darin werden in einem GridLayout<br />

das Container-Composite (EMBEDDED) für den AWT-Canvas und<br />

später noch eine Taste platziert.<br />

private void run() {<br />

// Top-Level Shell erzeugen<br />

final Display display = new Display();<br />

final Shell shell = new Shell(display);<br />

shell.setText("Java 2D-Beispiel");<br />

// GridLayout für Canvas und Taste<br />

shell.setLayout(new GridLayout());<br />

// Container für AWT-Canvas erzeugen<br />

final Composite canvasComp = new Composite(shell, <strong>SWT</strong>.EMBEDDED);<br />

// Vorzugsgröße setzen<br />

GridData data = new GridData();<br />

data.widthHint = 600;<br />

data.heightHint = 500;<br />

canvasComp.setLayoutData(data);<br />

Dann wird mit Hilfe der Klasse <strong>SWT</strong>_AWT ein AWT-Frame im <strong>SWT</strong>-<br />

Composite erzeugt. Auf die übliche Art wird diesem Frame dann ein<br />

AWT-Canvas hinzugefügt. Vom Canvas holen wir uns den grafischen<br />

Kontext, auf dem wir später die Zeichenoperationen durchführen.<br />

Außerdem sichern wir uns die anfängliche affine Transformation dieses<br />

grafischen Kontexts, um später nach Rotationsoperationen den<br />

205

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!