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));