Seite 510

Werbung
510
16
Einige Ergänzungen zu Swing-Komponenten
Abbildung 16.4: Maus-Klicks durch Linien verbinden
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawPolyline(x,y,n);
}
15
16
17
18
19
// Innere Listener-Klasse fuer Maus-Ereignisse
class ClickBearbeiter extends MouseAdapter {
public void mousePressed(MouseEvent e) {
x[n] = e.getX(); // speichere x-Koordinate
y[n] = e.getY(); // speichere y-Koordinate
n++;
// erhoehe Anzahl Klicks
repaint();
// Neuzeichnen der Komponente beim
// Repaint-Manager anfordern
}
}
20
21
22
23
24
25
26
27
28
29
30
}
und ein Aufruf des Programms PunkteVerbinden ermöglicht es uns, zum Beispiel das berühmte Haus des Nikolaus“ zu zeichnen (siehe Abbildung 16.4).
”
16.1.5 Layoutveränderungen und der Einsatz von revalidate
In einem Programm wollen wir es ermöglichen, dass durch Betätigen eines Buttons neue Buttons in unsere grafische Oberfläche aufgenommen werden. Wir setzen dazu zunächst die Klasse
1
2
3
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
4
5
6
7
public class NewButtonFrame1 extends JFrame {
Container c;
JButton b;
8
9
10
11
public NewButtonFrame1() {
c = getContentPane();
c.setLayout(new FlowLayout(FlowLayout.LEFT));
Herunterladen