16.11.2013 Aufrufe

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

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.

<strong>Programmieren</strong> <strong>in</strong> <strong>Java</strong><br />

Viele <strong>de</strong>r Sw<strong>in</strong>g-Komponenten s<strong>in</strong>d direkt o<strong>de</strong>r <strong>in</strong>direkt aus <strong>de</strong>r Klasse JComponent<br />

abgeleitet<br />

Instanzen von JComponent können ausgestattet wer<strong>de</strong>n mit Umrandungen,<br />

Tooltips, transparentem H<strong>in</strong>tergrund, Doppelpufferung, etc.<br />

Umrandungen<br />

Instanzen von JComponent können über die Metho<strong>de</strong> setBor<strong>de</strong>r() Umrandungen<br />

erhalten.<br />

public void setBor<strong>de</strong>r(Bor<strong>de</strong>r bor<strong>de</strong>r)<br />

Bor<strong>de</strong>r ist e<strong>in</strong> Interface, zu <strong>de</strong>m es verschie<strong>de</strong>ne Implementierungen gibt. Die<br />

wichtigsten s<strong>in</strong>d:<br />

Klassenname<br />

EmptyBor<strong>de</strong>r<br />

L<strong>in</strong>eBor<strong>de</strong>r<br />

BevelBor<strong>de</strong>r<br />

EtchedBor<strong>de</strong>r<br />

CompoundBor<strong>de</strong>r<br />

TitledBor<strong>de</strong>r<br />

Beschreibung<br />

Unsichtbarer Rand mit e<strong>in</strong>stellbarer Dicke<br />

E<strong>in</strong>fache L<strong>in</strong>ie mit e<strong>in</strong>stellbarer Farbe und Dicke<br />

Erhabener und vertiefter 3D-Effekt<br />

E<strong>in</strong>gelassene L<strong>in</strong>e mit 3D-Effekt<br />

Aus 2 an<strong>de</strong>ren Umrandungen zusammengesetzt<br />

Umrandung mit e<strong>in</strong>em e<strong>in</strong>geketteten Text<br />

Abb.: Bor<strong>de</strong>r-Implementierungen<br />

Die Klassen besitzen sehr unterschiedliche Konstruktoren, mit <strong>de</strong>nen ihre jeweiligen<br />

Eigenschaften festgelegt wer<strong>de</strong>n. Bor<strong>de</strong>r-Instanzen können mit new über die Klasse<br />

Bor<strong>de</strong>rFactory mit <strong>de</strong>n Metho<strong>de</strong>n createEmptyBor<strong>de</strong>r(),<br />

createL<strong>in</strong>eBor<strong>de</strong>r(), usw. erzeugt wer<strong>de</strong>n.<br />

Bsp. 286 :<br />

import java.awt.*;<br />

import java.awt.event.*;<br />

import javax.sw<strong>in</strong>g.*;<br />

import javax.sw<strong>in</strong>g.bor<strong>de</strong>r.*;<br />

public class Raen<strong>de</strong>r extends JPanel<br />

{<br />

public Raen<strong>de</strong>r()<br />

{<br />

setLayout(new GridLayout(2,4));<br />

add(showBor<strong>de</strong>r(new TitledBor<strong>de</strong>r("Titel")));<br />

add(showBor<strong>de</strong>r(new EtchedBor<strong>de</strong>r()));<br />

add(showBor<strong>de</strong>r(new L<strong>in</strong>eBor<strong>de</strong>r(Color.blue)));<br />

add(showBor<strong>de</strong>r(new MatteBor<strong>de</strong>r(5,5,30,30,Color.green)));<br />

add(showBor<strong>de</strong>r(new BevelBor<strong>de</strong>r(BevelBor<strong>de</strong>r.RAISED)));<br />

add(showBor<strong>de</strong>r(new SoftBevelBor<strong>de</strong>r(BevelBor<strong>de</strong>r.LOWERED)));<br />

add(showBor<strong>de</strong>r(new CompoundBor<strong>de</strong>r(new EtchedBor<strong>de</strong>r(),<br />

new L<strong>in</strong>eBor<strong>de</strong>r(Color.red))));<br />

}<br />

static JPanel showBor<strong>de</strong>r(Bor<strong>de</strong>r b)<br />

{<br />

JPanel jp = new JPanel();<br />

jp.setLayout(new Bor<strong>de</strong>rLayout());<br />

Str<strong>in</strong>g nm = b.getClass().toStr<strong>in</strong>g();<br />

nm = nm.substr<strong>in</strong>g(nm.lastIn<strong>de</strong>xOf('.')+1);<br />

jp.add(new JLabel(nm,JLabel.CENTER),Bor<strong>de</strong>rLayout.CENTER);<br />

286 pr56001<br />

357

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!