Übung Java RectangleSwing Class
Ausgangslage
Mit der Übung Rectangle (Class) haben Sie die Klasse Rectangle programmiert und an der Konsole angezeigt. Mit dieser Übung soll diese Rectangle Klasse zum Anzeigen von grafischen Rechtecken innerhalb einer Java Swing Anwendung verwendet werden.
Der folgende ScreenShot zeigt die Zielanwendung auf:
Für die einfachere Lösung dieser Aufgabe zeigt das folgende Listing ein laufendes Java Swing Programm:
package ch.std.jegl.rectangle.swing;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
public class RectangleSwing extends JPanel {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
this.setBackground(Color.BLUE);
// TODO
}
@Override
public Dimension getPreferredSize() {
return new Dimension(400, 400);
}
private static void createAndShowGui() {
RectangleSwing mainPanel = new RectangleSwing();
JFrame frame = new JFrame("RectangleSwing");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(mainPanel);
frame.pack();
frame.setLocationByPlatform(true);
frame.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGui();
}
});
}
}
Die grafische Darstellung der Rechtecke kann mit den folgenden Methoden der java.awt.Graphics Klasse erfolgen:
public void drawRect(int x, int y, int width, int height)
public void fillRect(int x, int y, int width, int height)
Vorgehen
Lösen Sie bitte die Aufgabe wie folgt:
- Erweitern Sie die Klasse Rectangle mit den Attributen x und y vom Typ int.
Das UML Klassendiagramm:
- Kopieren Sie das Listing der Klasse RetangleSwing in das "exercises" Projekt und führen Sie die Anwendung aus. Die Anwendung zeigt den blauen Hintergrund:
- Jetzt ersetzen wir den TODO Part und erstellen die Rectangle Instanzen r1 und r2.
Initialisieren Sie die Instanzen mit geeigneten Werte, so dass die Grösse und Koordinaten ca. stimmen gemäss dem ersten Screenshot.
Setzen Sie die richtige Farbe über die Graphics g Instanz via z.B. g.setColor(Color.RED) und zeichnen Sie das Rechteck gemäss den Attributen x, y, width und height.
- Testen Sie das Swing Programm via Run as Java Application.
Lösung
Eine mögliche Lösung finden Sie hier