Einführung in JOGL 2.0
|
|
- Gisela Klein
- vor 7 Jahren
- Abrufe
Transkript
1 C A R L V O N O S S I E T Z K Y Einführung in JOGL 2.0 Johannes Diemke Übung im Modul OpenGL mit Java Wintersemester 2010/2011
2 OpenGL Open Graphics Library Spezifikation für ein plattformunabhängiges API für 2D- und 3D-Computergrafik Ist als Zustandsautomat entworfen Dient als Schnittstelle zwischen Benutzer und Grafikkarte Im professionellen Bereich als 3D-Standard führend Aktuelle Version: 4.1 (26. Juli 2010) Johannes Diemke OpenGL mit Java WiSe 2010 / /26
3 Java Bindings for OpenGL Ermöglichen Java Programmen die Nutzung der OpenGL API Wrapperklassen stellen die Schnittstelle bereit Nutzten das Java Native Interface Der Grafikcode gleicht dem von C/C++ OpenGL Programmen Einfache Portierung bestehender OpenGL Programme JOGL lernen ist im Wesentlichen OpenGL lernen Eröffnet neue Einsatzgebiete für Java Computerspiele, VR, CAD, Simulationen,... Versionen Stable Release: JOGL (22. Mai 2008) Preview Release: JOGL 2.0 PRE (30. Sept. 2010) Johannes Diemke OpenGL mit Java WiSe 2010 / /26
4 Warum JOGL 2.0? JOGL wurde nur bis OpenGL 2.1 entwickelt Ab OpenGL 3.1 ist ein Großteil der als deprecated eingestuften Funktionalität der fixed function pipeline aus der API entfernt Mit JOGL 2.0 wurden daher Profile als Abstraktion der verschiedenen OpenGL Versionen eingeführt Weiterhin wurde eine geringfügige Refaktorierung der API durchgeführt Programme die OpenGL > 2.1 verwenden wollen benötigen daher JOGL 2.0 Johannes Diemke OpenGL mit Java WiSe 2010 / /26
5 Installation von JOGL JOGL 2.0 setzt eine vorhandene Installation des JDK voraus 2 Um JOGL 2.0 verwenden zu können, müssen die benötigten Bibliotheken von JogAmp bezogen werden 3 Als nächstes muss das Archiv mit den Bibliotheken in ein beliebiges Verzeichnis entpackt werden Bspw. /home/trigger/lib/jogl-2.0-pre linux-i586 Im Unterverzeichnis./lib befinden sich die JOGL 2.0 JAR Dateien sowie dazugehörige native Bibliotheken Johannes Diemke OpenGL mit Java WiSe 2010 / /26
6 Installation von JOGL 2.0 (Forts.) 4 Konfiguration der Eclipse IDE zur Verwendung von JOGL 2.0 Erstellen der User Library jogl-2.0 für die JOGL Bibliothek Window Preferences Java Build Path User Libraries New... Johannes Diemke OpenGL mit Java WiSe 2010 / /26
7 Installation von JOGL 2.0 (Forts.) 4 Konfiguration der Eclipse IDE zur Verwendung von JOGL 2.0 Erstellen der User Library jogl-2.0 für die JOGL Bibliothek Window Preferences Java Build Path User Libraries New... Johannes Diemke OpenGL mit Java WiSe 2010 / /26
8 Installation von JOGL 2.0 (Forts.) 4 Konfiguration der Eclipse IDE zur Verwendung von JOGL 2.0 Hinzufügen der JOGL 2.0 JARs jogl.all.jar, gluegen-rt.jar, nativewindow.all.jar, newt.all.jar Johannes Diemke OpenGL mit Java WiSe 2010 / /26
9 Installation von JOGL 2.0 (Forts.) 4 Konfiguration der Eclipse IDE zur Verwendung von JOGL 2.0 Setzen der Native library location der hinzugefügten JARs Native library location Edit... External Folder... Johannes Diemke OpenGL mit Java WiSe 2010 / /26
10 Installation von JOGL 2.0 (Forts.) 4 Konfiguration der Eclipse IDE zur Verwendung von JOGL 2.0 Hinzufügen der jogl-2.0 User Library zu einem bestehenden Projekt Properties Java Build Path Libraries Add Library... User Library Johannes Diemke OpenGL mit Java WiSe 2010 / /26
11 Installation von JOGL 2.0 (Forts.) 4 Konfiguration der Eclipse IDE zur Verwendung von JOGL 2.0 Hinzufügen der jogl-2.0 User Library zu einem bestehenden Projekt Properties Java Build Path Libraries Add Library... User Library Johannes Diemke OpenGL mit Java WiSe 2010 / /26
12 Erstellung einer einfachen JOGL 2.0 Applikation Ziel ist eine Applikation, die ein Fenster öffnet in welches gerendert werden kann Alternative Möglichkeiten OpenGL Zeichenflächen zu erzeugen GLCanvas (AWT) GLJPanel (Swing) GLWindow (NEWT API, Bestandteil von JOGL 2.0) Vorgehen bei Verwendung des AWT 1 Wahl eines GLProfile 2 Konfiguration der GLCapabilities 3 Erstellen eines GLCanvas 4 Implementieren des GLEventListener 5 Hinzufügen des GLCanvas zu einem AWT Frame 6 Erstellen eines Animator-Threads Johannes Diemke OpenGL mit Java WiSe 2010 / /26
13 Schritt 1: Wahl eines GLProfile JOGL 2.0 unterstützt verschiedene OpenGL Profile Vor der Entwicklung einer JOGL 2.0 Applikation muss zunächst ein GLProfile gewählt werden Aktuell unterstützte Profile: GL4bc (4.x, mit x 0, d. h. GL2 plus GL4) GL4 (4.x, mit x 0) GL3bc (3.x, mit x 1, d. h. GL2 plus GL3) GL3 (3.x, mit x 1) GL2 (1.x bis zu 3.0) GLES1 (ES 1.x, mit x 0) GLES2 (ES 2.x, mit x 0) GL2ES1 (GL2 ES1) GL2ES2 (GL3 GL2 ES2) GL2GL3 (GL3 GL2) Johannes Diemke OpenGL mit Java WiSe 2010 / /26
14 Schritt 1: Wahl eines GLProfile (Forts.) OpenGL 1.x bis zu 3.0 GLProfile glp = GLProfile.get(GLProfile.GL2); Die statische Methode initsingleton der Klasse GLProfile muss zwingend vor allen anderen Methodenaufrufen aufgerufen werden public class JOGL2Basecode { public static void main(string[] args) { // It is mandatory to call this methods ASAP, before // anything else. GLProfile.initSingleton(); GLProfile glp = GLProfile.get(GLProfile.GL2); Johannes Diemke OpenGL mit Java WiSe 2010 / /26
15 Einschub: GLContext Anschaulich: Beschreibt Eigenschaften einer OpenGL Zeichenfläche OpenGL Version Farbformat, OpenGL Zustand,... Schritt 2: Konfiguration der GLCapabilities Ein GLCapabilities Objekt beschreibt die gewünschten Fähigkeiten eines GLContext public class JOGL2Basecode { public static void main(string[] args) { GLProfile.initSingleton(); GLProfile glp = GLProfile.getDefault(); // configure context GLCapabilities caps = new GLCapabilities(glp); Johannes Diemke OpenGL mit Java WiSe 2010 / /26
16 Schritt 3: Erstellen eines GLCanvas Ein GLCanvas ist eine mit AWT kompatible OpenGL Zeichenfläche Erstellt und verwaltet selbstständig seinen GLContext Implementiert das GLDrawable Interface public class JOGL2Basecode { public static void main(string[] args) { GLProfile.initSingleton(); GLProfile glp = GLProfile.getDefault(); // configure context GLCapabilities caps = new GLCapabilities(glp); // a canvas based on your OpenGL capabilities GLCanvas canvas = new GLCanvas(caps); Johannes Diemke OpenGL mit Java WiSe 2010 / /26
17 Schritt 4: Implementieren des GLEventListener Damit in ein GLDrawable gerendert werden kann, muss das GLEventListener Interface implementiert und angemeldet werden Daraufhin ist es möglich auf Rendering-Events des GLDrawable zu reagieren public class JOGL2Basecode implements GLEventListener { public static void main(string[] args) { GLProfile.initSingleton(); GLProfile glp = GLProfile.getDefault(); GLCapabilities caps = new GLCapabilities(glp); GLCanvas canvas = new GLCanvas(caps); canvas.addgleventlistener(new JOGL2Basecode()); Johannes Diemke OpenGL mit Java WiSe 2010 / /26
18 Schritt 4: Implementieren des GLEventListener (Forts.) Die init-methode wird nach der Erzeugung des GLContext aufgerufen Passiert bspw. wenn ein GLCanvas erstellt wird Wird daher häufig zur Initialisierung von OpenGL genutzt Lichter ShadeModel... public void init(glautodrawable drawable) { GL2 gl = drawable.getgl().getgl2(); // synchronize with the refresh rate of the display (v-sync) gl.setswapinterval(1); gl.glclearcolor(0.3f, 0.3f, 0.3f, 1.0f); gl.glshademodel(gl2.gl_smooth); gl.glenable(gl2.gl_depth_test); } Johannes Diemke OpenGL mit Java WiSe 2010 / /26
19 Schritt 4: Implementieren des GLEventListener (Forts.) Die display-methode wird von dem GLDrawable aufgerufen, wenn ein Neuzeichen notwendig wird public void display(glautodrawable drawable) { GL2 gl = drawable.getgl().getgl2(); gl.glclear(gl2.gl_color_buffer_bit GL2.GL_DEPTH_BUFFER_BIT); gl.glloadidentity(); gl.gltranslatef(0.0f, 0.0f, -10.0f); gl.glcolor3f(0.65f, 0.85f, 0.65f); gl.glbegin(gl2.gl_quads); gl.glvertex3f(-1.0f, -1.0f, 2.0f); gl.glvertex3f(1.0f, -1.0f, 0.0f); gl.glvertex3f(1.0f, 1.0f, 0.0f); gl.glvertex3f(-1.0f, 1.0f, 2.0f); gl.glend(); } Johannes Diemke OpenGL mit Java WiSe 2010 / /26
20 Schritt 4: Implementieren des GLEventListener (Forts.) Die reshape-methode wird von dem GLDrawable nach einem Resize-Event aufgerufen public void reshape(glautodrawable drawable, int x, int y, int width, int height) { GL2 gl = drawable.getgl().getgl2(); GLU glu = new GLU(); if (height == 0) { height = 1; } float aspect = (float) width / (float) height; gl.glmatrixmode(gl2.gl_projection); gl.glloadidentity(); glu.gluperspective(45.0f, aspect, 0.1f, 100.0f); gl.glmatrixmode(gl2.gl_modelview); gl.glloadidentity(); } Johannes Diemke OpenGL mit Java WiSe 2010 / /26
21 Schritt 4: Implementieren des GLEventListener (Forts.) Die dispose-methode wird von dem GLDrawable vor dem Zerstören des GLContext aufgerufen Hier sollen eigentlich OpenGL Ressourcen destruiert werden Texturen Shader Programme... Benutzt aber niemand public void dispose(glautodrawable drawable) { } Johannes Diemke OpenGL mit Java WiSe 2010 / /26
22 Schritt 5: Hinzufügen des GLCanvas zu einem AWT Frame public static void main(string[] args) { GLProfile.initSingleton(); GLProfile glp = GLProfile.get(GLProfile.GL2); GLCapabilities caps = new GLCapabilities(glp); GLCanvas canvas = new GLCanvas(caps); canvas.addgleventlistener(new JOGL2Basecode()); Frame frame = new Frame("JOGL2Basecode"); frame.add(canvas); frame.setsize(640, 480); frame.addwindowlistener(new WindowAdapter() { public void windowclosing(windowevent e) { System.exit(0); } }); frame.setvisible(true); } Johannes Diemke OpenGL mit Java WiSe 2010 / /26
23 Schritt 6: Erstellen eines Animator-Threads Die display-methode des GLDrawable wird standardmäßig aufgerufen wenn: Resize-Events auftreten Bedeckte Bereiche des Frames wieder sichtbar werden Um die display-methode wiederholt aufzurufen ist ein Animator-Thread notwendig Frame frame = new Frame("JOGL2Basecode"); frame.add(canvas); frame.setsize(640, 480); final Animator animator = new Animator(canvas);... frame.setvisible(true); animator.start(); Johannes Diemke OpenGL mit Java WiSe 2010 / /26
24 Schritt 6: Erstellen eines Animator-Threads (Forts.) Animator.stop() ist blockierend und kann im AWT Thread zu Deadlocks führen Daher sollte der Aufruf einem eigenen Thread ausgeführt werden frame.addwindowlistener(new WindowAdapter() { public void windowclosing(windowevent e) { new Thread(new Runnable() { public void run() { animator.stop(); System.exit(0); } }).start(); } }); frame.setvisible(true); animator.start(); Johannes Diemke OpenGL mit Java WiSe 2010 / /26
25 Das Ergebnis Johannes Diemke OpenGL mit Java WiSe 2010 / /26
26 Literatur Dave Shreiner OpenGL Programming Guide Richard S. Wright, Benjamin Lipchak und Nicholas Haemel OpenGL SuperBibel Randi J. Rost OpenGL Shading Language Tomas Akenine-Möller, Eric Haines und Naty Hoffman Real-Time Rendering Johannes Diemke OpenGL mit Java WiSe 2010 / /26
C A R L V O N O S S I E T Z K Y. Wavefront OBJ Format. Johannes Diemke. Übung im Modul OpenGL mit Java Wintersemester 2010/2011
C A R L V O N O S S I E T Z K Y Wavefront OBJ Format Johannes Diemke Übung im Modul OpenGL mit Java Wintersemester 2010/2011 Motivation 3D-Modelle bestehen i. d. R. aus Tausenden von Dreiecken Händische
MehrC A R L V O N O S S I E T Z K Y. Licht & Material. Johannes Diemke. Übung im Modul OpenGL mit Java Wintersemester 2010/2011
C A R L V O N O S S I E T Z K Y Licht & Material Johannes Diemke Übung im Modul OpenGL mit Java Wintersemester 2010/2011 Motivation Licht & Material Geometrisch gut aussehende Modelle allein sind nicht
MehrPraktikum: Spieleengine im Eigenbau
Seite 1/17 Praktikum Spieleengine im Eigenbau Alexander Weggerle, Tobias Bäuerle 19.10.09 http://www.saschawillems.de Praktikum: Spieleengine im Eigenbau Seite 2/17 Praktikum Spieleengine im Eigenbau Alexander
MehrAbteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2
Inhalt 1. Printing API 1. Übersicht 2. Vorgehen 3. Beispiel 2. Klasse PrintUtils 3. Mehrere Seiten drucken Folie 1 Lernziele Sie wissen, wie Sie Swing-Komponenten ausdrucken können Sie kennen den Aufbau
MehrEclipse 3.0 (Windows)
Eclipse Seite 1 Eclipse 3.0 (Windows) 1. Eclipse installieren Eclipse kann man von der Webseite http://www.eclipse.org/downloads/index.php herunterladen. Eclipse ist für Windows, Mac und Linux erhältlich.
MehrHandbuch für die Erweiterbarkeit
Handbuch für die Erweiterbarkeit Inhalt Pakete für die Erweiterbarkeit... 2 Actions... 2 Items... 2 Itemset... 2 Die UseCaseNewAction... 3 Eigene Shapes... 4 Der Shape Container... 5 User Objects... 6
MehrObjektorientierte Software-Entwicklung
Objektorientierte Software-Entwicklung Priv.-Doz. Dr. Rolf Hennicker 08.01.2003 AWT und Swing AWT (Abstract Window Toolkit) und Swing 2 AWT (Abstract Window Toolkit) und Swing AWT und Swing bieten eine
MehrGUI Programmierung mit JAVA Swing
GUI Programmierung mit JAVA Swing Komponenten Layout Event Handling Imaging 2001 Thomas Weiler 1 JAVA Swing Bibliothek zur Erstellung grafischer Benutzerschnittstellen in JAVA Bietet Klassen für grafische
MehrJOGL - Java Binding for the OpenGL API
- Java Binding fr the OpenGL API Ausarbeitung im Rahmen der Lehrveranstaltung Graphisch Interaktive Systeme (WS 08/09) erstellt vn Email: michi.kremer@gmx.de Java Binding fr the OpenGL API WS 2008/2009
MehrGraphische Benutzungsoberflächen
Graphische Benutzungsoberflächen Graphische Benutzungsoberflächen (graphical user interfaces, GUI) dienen zur interaktiven Bedienung von Programmen, Ein- und Ausgabe mit graphischen Techniken und visuellen
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 7. Grafische Benutzeroberflächen
1 Kapitel 7 Ziele 2 (Graphical User Interfaces) als Anwendungsbeispiel für die objektorientierte Programmierung kennenlernen Benutzung von Vererbung zur Erstellung individueller GUI-Klassen durch Erweiterung
MehrComputergrafik 1 Übung, Wintersemester 2011. Eclipse Hands-On. C++ Projektsetup mit OpenGL und GLUT unter Eclipse für Windows 22.10.
Computergrafik 1 Übung, Wintersemester 2011 Eclipse Hands-On C++ Projektsetup mit OpenGL und GLUT unter Eclipse für Windows 22.10.12 1 Eclipse - Die IDE 1. Entwicklungsumgebung (IDE) herunterladen / installieren
MehrInteraktive Elemente, GUI-Programmierung
Softwaretechnik für IM, WS2015/2016 http://knopper.net/bw/swt/ Übung 4 Interaktive Elemente, GUI-Programmierung 1. Schreiben Sie ein Programm (wahlweise als Applet oder Applikation, oder beides), das die
MehrKonstruktoren, Packages und Scopes
Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski Konstruktoren, Packages und Scopes Dipl. Inf. Manuel Götz Lehrstuhl für Angewandte
MehrGUI Programmierung in Java
vs und niemals mischen! Daher muss man sich für eine Klasse entscheiden 1 (Abstract Window Toolkit) schwergewichtige Alle Elemente werden vom Betriebssytem gemalt sehen aus wie alle anderen Programme auf
MehrProf. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik GUI-Programmierung mit Swing
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik GUI-Programmierung mit Swing AWT und Swing Java enthält zwei Pakete zur Programmierung graphischer Oberflächen. java.awt: Das Abstract
MehrProgrammieren in Java
Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können
MehrÜbung: Verwendung von Java-Threads
Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum
MehrJava Einführung Abstrakte Klassen und Interfaces
Java Einführung Abstrakte Klassen und Interfaces Interface Interface bieten in Java ist die Möglichkeit, einheitliche Schnittstelle für Klassen zu definieren, die später oder/und durch andere Programmierer
MehrBenutzeroberflächen. Java Teil 4
Benutzeroberflächen Java Teil 4 Einleitung Eine grafische Benutzeroberfläche (Graphical User Interface) ermöglicht dem Benutzer die Interaktion mit dem Computer über grafische Symbole. Die GUI haben in
MehrEinstieg in die Informatik mit Java
1 / 14 Einstieg in die Informatik mit Java Swing Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 14 1 Einführendes Beispiel 2 Eigenschaften von Swing 3 Typisches Swing-Applet
MehrJava I Vorlesung 11 Graphische Oberflächen mit Swing
Java I Vorlesung 11 Graphische Oberflächen mit Swing 5.7.2004 Swing Komponenten Layout-Manager Events Swing und Threads Die Java-Plattform 2 Die Java-Plattform 3 "Hello World" in Swing HelloWorldS.java
MehrSystematisches Testen
Systematisches Testen SEP 136 Unit Testing Objektorientierte Entwicklung Entwicklung von vielen unabhängigen Einheiten (Klassen, Methoden), aus denen das Gesamtprogramm zusammengesetzt wird. Ziel: Wenn
MehrGraphische Benutzungsoberflächen mit Java. Einführung in NetBeans
Graphische Benutzungsoberflächen mit Java Einführung in NetBeans Graphische Benutzungsoberflächen! Interaktion mit dem Programm! Datenein- und ausgabe! Rückmeldungen über Verarbeitung der Daten! Visualisierung
MehrMobile und Verteilte Datenbanken
Mobile und Verteilte Datenbanken Java RMI Vorlesung Wintersemester 2013/2014 groppe@ifis.uni-luebeck.de Institut für Informationssysteme Universität zu Lübeck Kommunikations-Middleware Bietet höhere Kommunikations-Dienste
MehrJava Kurzreferenz Für Fortgeschrittene
Java Kurzreferenz Für Fortgeschrittene 1. Initialisierung von Applets: Die Methode init Wenn ein Applet gestartet wird, werden immer zwei Methoden aufgerufen. Diese heissen init und start. Um gewisse Berechnungen
MehrEinstieg in die Entwicklung von Augmented Reality Anwendungen mit Hilfe des jar-frameworks
Einstieg in die Entwicklung von Augmented Reality Anwendungen mit Hilfe des jar-frameworks 1 Einleitung Mit dieser Anleitung soll ein einfacher Einstieg in die Entwicklung von Augmented-Reality Anwendungen
MehrSWT. -The Standard Widget Toolkit- Inhaltsverzeichnis. Thomas Wilhelm SWT. 1. Was ist SWT?
Java -The Standard Widget Toolkit- Inhaltsverzeichnis 1. Was ist? - Vorteile von - Nachteile von 2. Vorbereitungen für 3. Das erste Programm in 4. Widgets und Styleparameter 5. - Layouts Was ist ein Widget?
MehrSession 1: Classes and Applets
Session 1: Classes and Applets Literature Sprechen Sie Java, ISBN 3-89864-117-1, dpunkt deutsch Java für Studenten, ISBN 3-8273-7045-0, PearsonStudium deutsch Java in a Nutshell, ISBN: 0-59600-283-1, O'Reilly
MehrAnleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014)
Anleitung Ein einfaches RMI-Beispiel (ab Java.0) c Y. Pfeifer (Juni 014) 1 Ein einfaches RMI-Beispiel Vorgehensweise: 1. Java Projekt anlegen. Zwei Packages server & client erstellen Auf der Server-Seite
MehrJava-Schulung Grundlagen
Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings
MehrGrundlagen der Programmierung APPLETS
Grundlagen der Programmierung APPLETS Inhalt dieser Einheit Java-Applets: Java-Applets Vor- und Nachteile Sicherheitskonzepte Methoden Einbetten in HTML Graphical User Interface 2 Java Applets Applets
MehrProgrammentwicklung ohne BlueJ
Objektorientierte Programmierung in - Eine praxisnahe Einführung mit Bluej Programmentwicklung BlueJ 1.0 Ein BlueJ-Projekt Ein BlueJ-Projekt ist der Inhalt eines Verzeichnisses. das Projektname heißt wie
MehrTheorie zu Übung 8 Implementierung in Java
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept
MehrAufgabenblatt Nr. 5 Generizität und TicTacToe
Aufgabenblatt Nr. 5 Generizität und TicTacToe 1 Generische Sortier-Methode 1.1 Aufgabe: Entwickeln einer generischen Sortiermethode für Objekte mit der Schnittstelle Comparable Ihnen ist aus der Vorlesung
MehrHow To: Wie entwickle ich mit SharpDevelop Anwendungen für die PocketPC-Platform
How To: Wie entwickle ich mit SharpDevelop Anwendungen für die PocketPC-Platform 0. Benötigt werden folgende Softwarepakete:.NET Framework Software Development Kit (http://www.microsoft.com/downloads/details.aspx?familyid=4fe5bdb5-c7a7-4505-9927-2213868a325b&displaylang=en)
MehrGrafikausgabe mit dem Abstract- Windowing-Toolkit. Eine Einführung
Grafikausgabe mit dem Abstract- Windowing-Toolkit Eine Einführung Inhalt Einführung Grundlegende Eigenschaften des Abstract-Windowing- Toolkit (AWT) Grundlagen Grafikausgabe Linien zeichnen Rechtecke zeichnen
MehrJDroidLib mit Eclipse (Mac/Linux/Windows)
JDroidLib mit Eclipse (Mac/Linux/Windows) Version 1.3, 25. März 2013 (Unter Windows besser die ADT-Bundle Version installieren, siehe entsprechende Anleitung) Vorbereitungen: 1. JDK SE neuste Version installieren,
MehrSynchronisation in Java. Invisible Web
Synchronisation in Java Studienprojekt Invisible Web Tang Zhihong Synchronisation in Java Synchronisationsproblem Monitore Wait und notify PipedInputStream und PipedOutputStream Synchronisation von Collections
MehrEinführung in die Programmierung 1
Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener
MehrPrinzipien Objektorientierter Programmierung
Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................
MehrBetriebssysteme. Wintersemester 2015. Kapitel 2 Prozess und Threads. Patrick Kendzo ppkendzo@gmail.com
Betriebssysteme Wintersemester 2015 Kapitel 2 Prozess und Threads Patrick Kendzo ppkendzo@gmail.com Programm Inhalt Einleitung Prozesse und Threads Speicherverwaltung Eingabe und Ausgabe Dateisysteme Zusammenfassung
MehrPython SVN-Revision 12
Python SVN-Revision 12 Uwe Ziegenhagen 7. Januar 2012 Vorwort Dieses Skript erhebt keinen Anspruch auf Vollständigkeit oder Richtigkeit. Es wird geschrieben, um mir als Gedächtnisstütze für den Umgang
MehrDie OSGi Service Plattform
Die OSGi Service Plattform Seminarvortrag Bernhard Cleven Gliederung 1 Einleitung 2 Das Framework 3 Bundles 4 Services 5 Beispiel 6 Fazit Seite 1/ 17 Einleitung Warum OSGi? Durch Modularisierung flexible
MehrJava Game Development Fabian Birzele Programmierpraktikum 2008 / 2009
Java Game Development Fabian Birzele Programmierpraktikum 2008 / 2009 Fabian Birzele, LMU Institut für Informatik, Lehrstuhl für Praktische Informatik und Bioinformatik, 2008: Programmierpraktikum 1 Ziele
MehrApps-Entwicklung mit Eclipse
JDroid mit Eclipse Seite 1 Apps-Entwicklung mit Eclipse Version 1.1, 30. April 2013 Vorbereitungen: 1. JDK installieren JDK SE neuste Version (64 oder 32 Bit) herunterladen und installieren (http://www.oracle.com/technetwork/java/javase/downloads/index.html)
MehrSchritt 4: Hallo Enterprise Bean
Prof. Dr. Th. Letschert FB MNI JEE Schritt 4: Hallo Enterprise Bean Einstieg: EJBs erzeugen und nutzen Meine erstes EJB Projekt Enterprise Beans sind eine Backend Technologie, die mit unterschiedlichen
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Der Experimentierkasten In diesem Semester werden wir eine Reihe von Algorithmen kennenlernen und mit diesen Experimente durchführen. Dafür benötigen wir einen geeigneten
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form
MehrJava Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1
Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1 Was ist JDBC? Hauptsächlich eine Sammlung von Java Klassen und Schnittstellen für eine einfache Verbindung von Java Programmen
MehrVorlesung Informatik II
Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 02. JAVA: Erstes Programm 1 Das erste Java-Programm
Mehreclipse und Komponenten
Christian bossk Holle & Markus Breitländer Fh-Dortmund Fb Informatik SS04 Geschichte von eclipse April 1999 Eclipse wird von OTI und IBM entwickelt November 2001 Eclipse wird Open Source Lizensiert unter
Mehr2.2 Prozesse in Java
2.2 Prozesse in Java! Java sieht kein Schlüsselwort für Prozesse vor, sondern bestimmte Klassen und Schnittstellen. Mit anderen Worten: der Prozessbegriff wird mit Mitteln der Objektorientierung eingeführt.
MehrEclipse Tutorial.doc
Berner Fachhochschule Hochschule für Technik und Informatik, HTI Fachbereich Elektro- und Kommunikationstechnik Labor für Technische Informatik Eclipse Tutorial 2005, HTI Burgdorf R. Weber Dateiname: Eclipse
MehrMobile und Verteilte Datenbanken
Mobile und Verteilte Datenbanken Java RMI Vorlesung Wintersemester 2010/2011 groppe@ifis.uni-luebeck.de Institut für Informationssysteme Universität zu Lübeck Java Remote Method Invocation (RMI) Realisierung
MehrSystemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007
Systemprogrammierung Projekt: Java RMI Wintersemester 2006 / 2007 Systemprogrammierung 1. Einleitung 2. Einführung in RPC 3. RMI 4. Code Beispiele 5. Live Vorstellung 6. Ausblick 7. Fazit 2 1. Einleitung
MehrUniversität Augsburg, Institut für Informatik Sommersemester 2003 Prof. Dr. Bernhard Bauer 18. Oktober 2003 Stefan Fischer, Dr.
Universität Augsburg, Institut für Informatik Sommersemester 2003 Prof. Dr. Bernhard Bauer 18. Oktober 2003 Stefan Fischer, Dr. Martin Müller Informatik II 2. Semesterklausur Prüfungsmodul Informatik II
MehrProgrammieren I. Dokumentation mit Javadoc Heusch 10.4 Ratz Institut für Angewandte Informatik
Programmieren I Dokumentation mit Javadoc Heusch 10.4 Ratz 4.1.1 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Automatische Dokumentation Java bietet standardmäßig das Dokumentationssystem
MehrInstallation von LeJOS für NXT und Einrichtung von Eclipse
Installation von LeJOS für NXT und Einrichtung von Eclipse 1. Vorbemerkungen Es wird vorausgesetzt, dass der NXT-Treiber (Fantom-Treiber) installiert ist. Andernfalls muss das spätestens bei Anschluss
MehrWillkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java
Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen
MehrConnecting Android. Externe Hardware mit dem grünen Roboter verbinden. Alexander Dahmen Dominik Helleberg
Connecting Android Externe Hardware mit dem grünen Roboter verbinden Alexander Dahmen Dominik Helleberg Speaker Dominik Helleberg Mobile Development Android / Embedded Tools http://dominik-helleberg.de/+
MehrNTB Druckdatum: 01.04.13 -
AWT UND SWING AWT = abstract windowing toolkit Bausteine Eigenes Fenster Programmcode steht nicht im Main, sondern in einer separaten Klasse extends JFrame JWindow selbstständiges Fenster, ohne Rahmen
MehrKapitel 6. Vererbung
1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben
MehrErstellen von speziellen Ereignissen in C#
Erstellen von speziellen Ereignissen in C# Anhand eines Projekts, das demonstriert, wie spezielle Ereignisse ausgelöst werden und wie sie sich auf den verwendeten Code auswirken, zeigen wir Ihnen, wie
MehrJava Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7
Java Einführung Umsetzung von Beziehungen zwischen Klassen Kapitel 7 Inhalt Wiederholung: Klassendiagramm in UML Java-Umsetzung von Generalisierung Komposition Assoziationen 2 Das Klassendiagramm Zweck
MehrProbeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
MehrTesten von grafischen Benutzeroberflächen
Seminarvortrag 10: Testen von grafischen Benutzeroberflächen 2004 / 06 / 28 Clemens Sommer, Gerald Peter Übersicht Motivation GUI Allgemein Fehlerquellen und deren Auswirkungen GUI Testwerkzeuge JUnit
MehrTutorial Spieleentwicklung mit OpenGL und Java. oder. JOGLn in Java. Prof. Dr. W. P. Kowalk Universität Oldenburg kowalk@informatik.uni-oldenburg.
Tutorial Spieleentwicklung mit OpenGL und Java oder JOGLn in Java Prof. Dr. W. P. Kowalk Universität Oldenburg kowalk@informatik.uni-oldenburg.de August 2005 Inhaltsverzeichnis 1 Einführung...4 1.1 Aufbau
MehrAnt in Eclipse Starthilfe
IN DIESER KURSEINHEIT Einleitung o Um was geht's eigentlich? Hello World o Das Ant Skript Mehrere Targets und Properties o Hello World Ausgabe Ant Launch Configurations o Definition o Modifikation o Nutzung
MehrKapitel 6. Vererbung
1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben
MehrEreignisbehandlung 21
Ereignisbehandlung 21 3 Ereignisbehandlung Dieses Kapitel beschäftigt sich mit der Ereignisbehandlung, d.h. der Reaktion eines Programms auf Eingaben durch benutzende Personen. Nach einigen ersten Beispielen
MehrSoftwaretechnologie - Wintersemester 2012/2013 - Dr. Günter Kniesel
Übungen zur Vorlesung Softwaretechnologie - Wintersemester 2012/2013 - Dr. Günter Kniesel Übungsblatt 10 - Lösungshilfe Aufgabe 1. CRC-Karten (7 Punkte) Es geht um die Modellierung der folgenden Bibliotheks-Anwendung:
MehrProgrammieren 2 Selbststudium Semesterwoche 4
Programmieren 2 Selbststudium Semesterwoche 4 Kapitel 11.1, 11.2 und 11.3 1. Das Konzept "Interface" ist wichtig und ist uns schon mehrfach begegnet. In welchen Zusammenhängen hatten wir es schon mit "Interfaces"
MehrGrafische Benutzeroberflächen mit Swing
Grafische Benutzeroberflächen mit Swing KW 30, Zentralübung Informatik II 2006-07-24 Klausur: Stichpunkte 1. Auswertung System.out.println("abc" instanceof String); Ergebnis von instanceof ist ein boolean,
MehrSpring Dynamic Modules for OSGi Service Platforms
Gerd Wütherich freiberuflicher Softwarearchitekt Spring Dynamic Modules for OSGi Service Platforms Server Anwendungen mit Spring und Eclipse Equinox Agenda OSGi Technologie: OSGi Technologie im Überblick
MehrMusterlösungen zur Klausur Informatik 3
Musterlösungen zur Klausur Informatik 3 Justus-Liebig-Universität Gießen Wintersemester 2003/2004 Aufgabe 1 (6 Punkte) Man kreuze bei den folgenden Deklarationen und Definitionen jeweils an, ob sie aus
MehrOSGi. The Next Generation Java Service Platform. SOA - The Java Way or My classpath is killing me. Michael Greifeneder
Michael Greifeneder OSGi The Next Generation Java Service Platform SOA - The Java Way or My classpath is killing me Bilder von Peter Kriens W-JAX Keynote 2007 und Neil Bartletts Getting Started with OSGi
Mehr5.5.8 Öffentliche und private Eigenschaften
5.5.8 Öffentliche und private Eigenschaften Schnittstellen vs. Implementierungen: Schnittstelle einer Klasse beschreibt, was eine Klasse leistet und wie sie benutzt werden kann, ohne dass ihre Implementierung
MehrKapitel 6. Vererbung
Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen
MehrFür die Erstellung von Javaprogrammen sind eventuell zwei Komponenten nötig. 1. Das Java-Develepment-Kit (JDK) und die 2. Java Runtime Engine (JRE)
Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Für die Erstellung von Javaprogrammen sind eventuell zwei Komponenten nötig. 1. Das Java-Develepment-Kit (JDK) und die 2. Java
Mehr5. Threads, Serverprozesse und Benachrichtigungen
5. Threads, Serverprozesse und Benachrichtigungen Threads allgemein Threads in Android: Handler und Messages Services: Local, Remote, Binding Benachrichtigungen Entwicklung mobiler Anwendungen Europäische
MehrWebentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo
Webentwicklung mit Vaadin 7 Theoretische und praktische Einführung in Vaadin 7 Christian Dresen, Michael Gerdes, Sergej Schumilo Agenda Allgemeines Architektur Client-Side Server-Side Vaadin UI Components
MehrInnere Klassen in Java
Innere Klassen in Java SS 2012 Prof. Dr. Margarita Esponda Innere Klassen Klassen- oder Interfacedefinitionen können zur besseren Strukturierung von Programmen verschachtelt werden Eine "Inner Class" wird
MehrJava Wireless Toolkit (JWT) Bei der Programmierung von Anwendungsprogrammen für mobile Endgeräte eignet sich die Verwendung des Java Wireless Toolkit.
1 Seminar zum Programmierprojekt Arbeitsbereich Technische Informatik Ausgabe: 30. April 2008 Anleitung B3 Einführung in die Entwicklungsumgebungen Allgemeines In dieser Aufgabe lernen wir die Entwicklungsumgebungen
MehrUdo Matthias Munz. Datenbanken und SQL. mit. Einführung. Informationstechnik
Udo Matthias Munz Datenbanken und SQL mit Einführung Informationstechnik Zugriff auf eine Datenbank... 2 ODBC... 2 Eine DSN einrichten... 3 Verbindung zu einer Datenbank... 4 Datenbank... 4 Metadaten der
MehrObjektorientierte Programmierung
Objektorientierte Programmierung Exkurs: Graphische Benutzeroberflächen FH Braunschweig/Wolfenbüttel Sommersemester 2009 1 / 22 Gliederung I Wiederholung Klassen, Objektorientierung (Kapitel 10,11) Exkurs:
MehrWeb-Anwendungsentwicklung mit dem Delivery Server
Web-Anwendungsentwicklung mit dem Delivery Server Java-Framework auf Basis der Open API Bernfried Howe, Webertise Consulting GmbH WEBertise Consulting Dipl. Informatiker (Wirtschaftsinformatik) 2001-2010
MehrLego Mindstorms NXT über lejos und Eclipse mit Java programmieren
Kiwijoghurt > Projekt 1 http://www.kiwijoghurt.org Lego Mindstorms NXT über lejos und Eclipse mit Java programmieren Wir, das Team KiwiJoghurt, programmieren seit zwei Jahren den Lego NXT Roboter mit Java.
Mehr3-schichtige Informationssystem-Architektur
3-schichtige Informationssystem-Architektur plattformunabhängig beliebige Endgeräte kein Konfigurationsaufwand plattformunabhängig objektorientierte Architektur Server: Anwendungslogik verteilte Datenbank:
MehrProbeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
MehrProgrammieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik
Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine
MehrTeil 2: OOP und JAVA (Vorlesung 11)
Teil 2: OOP und JAVA (Vorlesung 11) Modul: Programmierung B-PRG Grundlagen der Programmierung II Prof. Dot.-Ing. Roberto Zicari Professur für Datenbanken und Informationssysteme (FB 12) 28.06.06 1 Teil
MehrProgrammieren in Java
17. Übung 1. Aufgabe Schreibe ein Programm, das eine Textdatei (z.b. *.java ) aus dem aktuellen Verzeichnis über eine TextArea auf ein Fenster des Bildschirms abbildet. Jede Zeile soll dabei durchnummeriert
MehrSoftware Engineering II
Software Engineering II Codegenerierung für den SmartIO Editor mit der Modeling Workflow Engine Wintersemester 10/111 Fachgebiet Software Engineering Albert Zündorf / Wiederholung Bisher im Laufe des Semesters
MehrInhaltsverzeichnis. 2.2 Grundlagen der UML... 41. 2.3 Zusammenfassung... 53
Vorwort......................................................... 13 1 Vorbereitungen.................................................. 17 1.1 JDK-Installation unter Windows................................
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
MehrVerteilte Systeme CS5001
Verteilte Systeme CS5001 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences Client-Server-Anwendungen: Vom passiven (shared state) Monitor zum aktiven Monitor Monitor (Hoare, Brinch-Hansen,
Mehrvon Anja Austermann Drag and Drop
von Anja Austermann Drag and Drop »Drag and Drop«ist die Bezeichnung für den Datentransfer zwischen unterschiedlichen Anwendungen mit grafischer Benutzeroberfläche. Zur Zeit arbeitet Drag and Drop in Java
MehrSWIG Simplified Wrapper and Interface Generator. Christian Claus
SWIG Simplified Wrapper and Interface Generator Christian Claus 1 Inhaltsübersicht 1. Einführung in SWIG 2. Funktionsweise von SWIG 3. Beispiel 4. SWIG im Detail 5. Fazit 2 Einführung in SWIG 3 Was ist
Mehr6 Speicherorganisation
Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen Speicherbereich für
Mehr