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.

208<br />

8 <strong>Das</strong> <strong>SWT</strong><br />

}<br />

}<br />

});<br />

size.y);<br />

// Shell öffnen<br />

eShell.open();<br />

} else if (!eShell.isVisible()) {<br />

// Editor versteckt, sichtbar machen<br />

eShell.setVisible(true);<br />

} else {<br />

// Editor sichtbar - Text holen<br />

String t = eText.getText();<br />

// und Editor unsichtbar machen<br />

eShell.setVisible(false);<br />

// Text zur Liste zufügen und Canvas neu zeichnen.<br />

wordList.add(t);<br />

canvasComp.redraw();<br />

}<br />

public void mouseReleased(<br />

java.awt.event.MouseEvent e) {}<br />

});<br />

Schließlich zeigen wir noch die Routine für das Zeichnen des Canvas-<br />

Inhaltes. Dies geschieht in einem PaintListener, der dem <strong>SWT</strong>-Container<br />

des Canvas zugeordnet ist. Wir setzen Java2D-Textrotation ein,<br />

um den eingegebenen Text sternförmig anzuordnen. Da es sich bei den<br />

verwendeten Ressourcen (Color, Font) um AWT-Ressourcen handelt,<br />

müssen diese auch nicht wie im <strong>SWT</strong> nach der Verwendung mit dispose()<br />

entsorgt werden. Die Java Garbage Collection wird sich schon<br />

darum kümmern.<br />

// Den Canvas neu zeichnen<br />

canvasComp.addPaintListener(new PaintListener() {<br />

public void paintControl(PaintEvent e) {<br />

// Die Verarbeitung der AWT-Event-Warteschlange übergeben<br />

java.awt.EventQueue.invokeLater(new Runnable() {<br />

public void run() {<br />

// Canvasmittelpunkt<br />

java.awt.Rectangle bounds = canvas.getBounds();<br />

int originX = bounds.width / 2;<br />

int originY = bounds.height / 2;<br />

// Canvas rücksetzen<br />

g2d.setTransform(origTransform);<br />

g2d.setColor(java.awt.Color.WHITE);<br />

g2d.fillRect(0, 0, bounds.width, bounds.height);

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!