Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Telecooperation Technische Universität Darmstadt Copyrighted material; for TUD student use only : FAQ Session – Assignment 1 FG Telekooperation Prof. Max.

Ähnliche Präsentationen


Präsentation zum Thema: "Telecooperation Technische Universität Darmstadt Copyrighted material; for TUD student use only : FAQ Session – Assignment 1 FG Telekooperation Prof. Max."—  Präsentation transkript:

1 Telecooperation Technische Universität Darmstadt Copyrighted material; for TUD student use only : FAQ Session – Assignment 1 FG Telekooperation Prof. Max Mühlhäuser Dirk Bradler, Julian Schröder-Bernhardi

2 Prof. Dr. M. Mühlhäuser Telekooperation © : Outline Wie programmiere ich in Java plattform unabhängig –Path-Separator –AWT –SWING –SWT

3 Prof. Dr. M. Mühlhäuser Telekooperation © Path-Separator Viele Tricks –http://www.java1.de/basicjava/5.7_IO.htmlhttp://www.java1.de/basicjava/5.7_IO.html Der sichere Weg: –Benutzen von File.separator oder File.pathSeparator wenn Strings mit Pfade erzeugt werden –Und/oder File objects anstelle von Strings, wenn ein Pfad benötigt wir :

4 Prof. Dr. M. Mühlhäuser Telekooperation © Path-Separator Using File.pathSeparator in Strings String myRelativePath = "mydir" + File.pathSeparator + "myFile.txt";StringFile A path using '/' within File is always translated correctly // in Unix remains as it is, in Windows translates to C:\mydirectory\myfile.txt File myFile = new File("/mydirectory/myfile.txt");File :

5 Prof. Dr. M. Mühlhäuser Telekooperation © Path-Separator Java liefert alles was benötigt wird –System.getProperty("os.name");System –System.getProperty("file.separator");System –System.getProperty("path.separator");System –System.getProperty("line.separator");System –System.getProperty("os.version");System ABER einfacher: –Immer / verwenden –Funktioniert bei allen *NIX-Systemen + MAC –Wird von Windows API unterstützt Homeverzeichnis finden mittels System.getProperty("user.home") –Sowohl auf *NIX als auf Windows Systemen :

6 Prof. Dr. M. Mühlhäuser Telekooperation © AWT Abstract Window Toolkit Seit1995 Nur GUI Komponenten umgesetzbar, die auf allen Plattformen verfügbar sind Guter Ansatz, jedoch –Nicht leistungsfähig genug –Nicht wirklich ansprechend :

7 Prof. Dr. M. Mühlhäuser Telekooperation © Swing Seit 1998 Früher sehr langsam Heute besser Implementierung in *NIX und Windows identisch Sieht seid JDK 5 sowieso besser aus –Der Standard-Stil (Look&Feel) ist immer noch häßlich :

8 Prof. Dr. M. Mühlhäuser Telekooperation © Swing Java zeichnet die Komponenten selbst –Seit JDK 1.6 mit stärkerem Hardware-Support und Beschleunigung durch native Komponenten Immer noch plattformunabhängig! Swing-Komponenten werden direkt von Java gerendert –Nicht von nativen Betriebssystemkomponenten abhängig –Alle Swing-Komponenten auf allen Plattformen gleich –Manche Swing-Anwendungen (vor allem alte) wirken betriebssystem-fremd –Durch entsprechenden Pluggable Look-and-Feels kompensieren :

9 Prof. Dr. M. Mühlhäuser Telekooperation © Simple Hello World via Swing (Danke an Wikipedia) import javax.swing.*; class HelloWorldSwing { public static void main(String[] args) { Runnable guiCreator = new Runnable() { public void run() { JFrame fenster = new JFrame("Hallo Welt mit Swing"); fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JLabel label = new JLabel("Hallo Welt"); fenster.getContentPane().add(label); fenster.setSize(300, 200); fenster.setVisible(true); } }; SwingUtilities.invokeLater(guiCreator); } :

10 Prof. Dr. M. Mühlhäuser Telekooperation © SWT Standart Widget Toolkit Seit 2001 Idee: Nutzung der nativen Widget und zusätzlicher Implementierungen Funktioniert unter Windows Funktioniert unter *NIX Aber Implementierung ist nicht plattformunabhängig –SWT muss auf das jeweilige OS portiert werden –Lässt sich theoretisch plattformunabhängig schreiben und packen :

11 Prof. Dr. M. Mühlhäuser Telekooperation © SWT Benötigte Pakete: –org.eclipse.swt.*; –org.eclipse.swt.widgets.*; Ein Display-Objekt repräsentiert das zugrundeliegende Windows-System: –Display display = new Display(); Ein Shell-Objekt enthält die einzelnen Elemente (Widgets). Es ist vergleichbar mit dem JFrame in Swing: –Shell shell = new Shell(display); :

12 Prof. Dr. M. Mühlhäuser Telekooperation © Simple Hello World via SWT import org.eclipse.swt.widgets.*; import org.eclipse.swt.*; public class HelloWorld { public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); Label label = new Label(shell, SWT.NONE); label.setText("Hello, World!"); shell.pack(); label.pack(); shell.open(); while (!shell.isDisposed()) if (!display.readAndDispatch()) display.sleep(); display.dispose(); label.dispose(); } :

13 Prof. Dr. M. Mühlhäuser Telekooperation © Fazit Swing am angenehmsten Geschwindigkeit zumindest vergleichbar Vollständige Plattformunabhängigkeit :

14 Prof. Dr. M. Mühlhäuser Telekooperation © : Erinnerung Assignment sheet on the Web page of the Praktikum Milestones: 1.TCP client and server 2.Simple Web server 3.Web server improvements Important: pay attention to error-semantics, be conservative (i.e. follow the RFC) in what you send Deadline for returning: at 12:00 To be returned: Code with comments, test cases used –Send at –CC at

15 Prof. Dr. M. Mühlhäuser Telekooperation © : Erinnerung In each assignment, return the following: 1.Compiled JAR-File Executable!!! Including Java source code The code should follow the coding guidelines given on the next pages Code not following the guidelines may be graded inferior compared with functionally equivalent code that does follow them 2.Short written report What you have done, what is missing, how you implemented it Describe design choices, why you did them, etc. UML diagram is ok, if you know UML

16 Prof. Dr. M. Mühlhäuser Telekooperation © : What You Need to Do (2) 3.Test cases used Test cases may be defined informally in the written report or formally with JUnit tests 4.The names and Martikel numbers of all people in the group must be present in the written report and in the 5.Subject [IPWS0809][Assignment X | Question][Group Y] Return as a zip-file by to CC:

17 Prof. Dr. M. Mühlhäuser Telekooperation © : Questions?


Herunterladen ppt "Telecooperation Technische Universität Darmstadt Copyrighted material; for TUD student use only : FAQ Session – Assignment 1 FG Telekooperation Prof. Max."

Ähnliche Präsentationen


Google-Anzeigen