Anwendungspraktikum aus JAVA

Werbung
Anwendungspraktikum aus JAVA
Albert Weichselbraun
11. Oktober 2005
Ablauf
• Einführung: Swing
• Problemstellung - Ein-/Ausgabenrechnung
• Überblicksreferate über die Java-API
• Software Projekt
- Problemdefinition
- Projektplan
- Modellierung
- Implementierung
- Test
- Abnahme und Präsentation
A NWENDUNGSPRAKTIKUM AUS JAVA
-1-
1. M ÄRZ 2006
Wichtige Termine
• 11. Oktober: Organisatorisches, Einführung: Swing + Beispiele,
Vergabe der Referate
• 18. Oktober: erste Referate, Projektvergabe
• 25. Oktober: Abgabe der Problemdefinition
• 22. November 2005: letzten Referate, Abgabe von Zeitplan,
Modellierung (UML), ...
• 24. Jänner 2005: letzter möglicher Abgabetermin für das
Gesamtprojekt; Präsentation der Projekte
A NWENDUNGSPRAKTIKUM AUS JAVA
-2-
1. M ÄRZ 2006
Beurteilungsschema:
• 10 % Hausübungen
• 20 % Vortrag/Ausarbeitung: Java API
• 55 % Anwendungsprojekt
- 25 % Dokumentation
- 30 % Ausführung
• 15 % Mitarbeit (Anwesenheit in der LV, konkrete Mitarbeit am
Projekt, ...)
A NWENDUNGSPRAKTIKUM AUS JAVA
-3-
1. M ÄRZ 2006
Referate
• 18. Oktober 2005: Collections, Swing
• 25. Oktober 2005: IO and NewIO, Java2D
• 8. November 2005: Serialisierung, Java Networking
• 15. November 2005: Preferences API, Javadoc
• 22. November 2005: Multithreading, RMI
A NWENDUNGSPRAKTIKUM AUS JAVA
-4-
1. M ÄRZ 2006
GUIs mit Swing
• Swing setzt auf AWT auf
• leichtgewichtige Komponenten
• Realisiert die MVC (Model-View-Controller) Architektur
• Elemente: siehe Index
http://java.sun.com/docs/books/tutorial/
uiswing/components/components_pics.html
A NWENDUNGSPRAKTIKUM AUS JAVA
-5-
1. M ÄRZ 2006
Vorgangsweise
1. Layout festlegen
• Position der Komponenten
• Anordnung von JPanels / Wahl des Layoutmanagers
2. Grafische Komponenten festlegen
3. Eventhandling definieren
A NWENDUNGSPRAKTIKUM AUS JAVA
-6-
1. M ÄRZ 2006
Layout festlegen
package swingdemo;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class MyGUI extends JFrame {
public MyGUI(String title) {
super(title);
}
A NWENDUNGSPRAKTIKUM AUS JAVA
-7-
1. M ÄRZ 2006
public static void main(String[] args) {
MyGUI mg = new MyGUI("Swing Test");
mg.pack();
mg.setVisible(true);
}
}
A NWENDUNGSPRAKTIKUM AUS JAVA
-8-
1. M ÄRZ 2006
Elemente hinzufügen
public class MyGUI extends JFrame {
// Elemente hinzufügen
private JTextArea textFeld
= new JTextArea("Text", 3, 10);
private JTextField texteingabe
= new JTextField("Neuer Text");
private JButton addButton, clearButton;
public MyGUI(String title) {
super(title);
A NWENDUNGSPRAKTIKUM AUS JAVA
-9-
1. M ÄRZ 2006
// Elemente hinzufügen
JPanel panel = new JPanel();
addButton = new JButton("Add");
clearButton = new JButton("Clear");
panel.add(texteingabe);
panel.add(addButton);
panel.add(clearButton);
this.add(panel, BorderLayout.NORTH);
this.add(textFeld, BorderLayout.SOUTH);
}
A NWENDUNGSPRAKTIKUM AUS JAVA
- 10 -
1. M ÄRZ 2006
Eventhandling definieren
public class MyGUI extends JFrame
implements ActionListener {
...
public MyGUI(String title) {
super(title);
...
// eventhandling
addButton.addActionListener( this );
A NWENDUNGSPRAKTIKUM AUS JAVA
- 11 -
1. M ÄRZ 2006
clearButton.addActionListener( this );
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == clearButton) {
textFeld.setText("");
}
if (e.getSource() == addButton) {
textFeld.setText( textFeld.getText()
+ ’\n’ + texteingabe.getText() );
}
}
A NWENDUNGSPRAKTIKUM AUS JAVA
- 12 -
1. M ÄRZ 2006
Erweiterung - scrollbares Textfeld
...
// scrolling
JScrollPane sp = new JScrollPane(textFeld)
this.add(sp, BorderLayout.SOUTH);
...
A NWENDUNGSPRAKTIKUM AUS JAVA
- 13 -
1. M ÄRZ 2006
Ein-/Ausgabenrechnung (Teil 1)
1. Erstellen Sie eine Klasse Buchung. Jede Buchung soll ein
Datum, einen Wert und einen Buchungstext besitzen.
2. Das Programm soll Ein- und Ausgaben buchen können.
Ausgaben verfügen über eine numerische Kostenstellen-ID,
während es bei Einnahmen möglich sein soll, den Kunden über
ein Textfeld zu ermitteln. Implementieren Sie die entsprechenden
Klassen Einnahme und Ausgabe.
3. Implementieren sie die Ein-/Ausgabenrechnung mittels der
Klassen Ein- und Ausgabe. Es soll möglich sein die Summe der
Ein- und Ausgaben sowie den Gesamtkontostand zu berechnen
und am Bildschirm auszugeben.
A NWENDUNGSPRAKTIKUM AUS JAVA
- 14 -
1. M ÄRZ 2006
Ein-Ausgabenrechnung (Teil 2)
1. Designen Sie mittels Swing eine GUI für die Ein/Ausgabenrechnung. Es soll zumindest möglich sein neue
Buchungen hinzuzufügen und alte zu löschen.
2. Implementieren Sie Persistenz - sämtliche Ein- und Ausgaben
sollen beim Beenden der Applikation gespeichert werden und
beim Neustart wieder zur Verfügung stehen.
A NWENDUNGSPRAKTIKUM AUS JAVA
- 15 -
1. M ÄRZ 2006
Herunterladen