Einführung in die Programmierung für Nebenfach Medieninformatik. Beat Rossmy, Michael Kirsch

Ähnliche Dokumente
Einführung in die Programmierung für Nebenfach Medieninformatik. Beat Rossmy, Michael Kirsch

Einführung in die Programmierung für Nebenfach Medieninformatik. Beat Rossmy, Michael Kirsch

Einführung in die Programmierung für Nebenfach Medieninformatik. Beat Rossmy, Michael Kirsch

Einführung in die Programmierung für Nebenfach Medieninformatik. Beat Rossmy, Michael Kirsch

Einführung in die Programmierung für Nebenfach Medieninformatik. Beat Rossmy, Michael Kirsch

Einführung in die Programmierung für Nebenfach Medieninformatik. Beat Rossmy, Michael Kirsch

Javakurs für Fortgeschrittene

Graphische Benutzungsoberflächen mit Java. Einführung in NetBeans

Einführung in GUI-Programmierung. javax.swing

Institut für Programmierung und Reaktive Systeme. GUIs mit Swing. Markus Reschke

Kapitel 8: Grafische Benutzerschnittstellen

Grafische Benutzeroberflächen

Ziele. Kapitel 8: Grafische Benutzerschnittstellen. AWT und Swing. Ziele (2)

Programmieren II. Java im Vergleich zu anderen Sprachen. Einführung: GUI. Einführung: Grafische Benutzeroberflächen. Dr.

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 7. Grafische Benutzeroberflächen 1

Projektarbeit Java. 4-Gewinnt. Berner Fachhochschule. 2004, Labor für Technische Informatik

Einführung in die Programmierung für NF. Grafische Benutzeroberflächen

Einführung in GUI-Programmierung. javax.swing

Grafische Benutzeroberflächen

Einführung in die Programmierung für NF. Übung 08

Objektorientierte Programmierung Studiengang Medieninformatik

Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum

Created by Michael Kirsch & Beat Rossmy

Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum

Heute. Grafische Benutzeroberflächen (Anonyme) innere Klassen Einfache Simulationen main / ausführbare jar-files IT I - VO 11 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 7. Grafische Benutzeroberflächen

GUI Programmierung mit JAVA Swing

Medientechnik. Übung 2 Java Swing

Swing : Komponeneten I (Teil 1) Was ist Swing?

Einführung: Grafische Benutzeroberflächen. Programmieren II. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester / 22

Grafische Benutzeroberflächen

7. GUI Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006

Ist eine Softwarekomponente, die dem Benutzer eines Computers die Interaktion mit der Maschine über grafische Symbole erlaubt

Funktionale und Objekt-Orientierte Programmierkonzepte

Zentrale Objekte zur Programmierung graphischer Benutzeroberflächen (GUI)

Einführung in die Programmierung für NF. Übung

Objektorientierte Softwareentwicklung

PROCESSING EINE ZUSAMMENFASSUNG. Created by Michael Kirsch & Beat Rossmy

Java für Computerlinguisten

Programmieren II. Events (Ereignisse) Heusch 16.6 (2. Bd) Ratz 15. Institut für Angewandte Informatik

Programmieren II. Events (Ereignisse) Heusch 16.6 (2. Bd) Ratz 15. Institut für Angewandte Informatik

Fachhochschule Stuttgart Prof. Uwe Schulz 5. Juli 2006 Hochschule der Medien Klausur Informatik, EDV-Nr (42021) Seite 1 von 4

Benutzeroberflächen. Java Teil 4

/** Main-Methode erzeugt einen neuen Editor zum Testen */ public static void main(string[] args) { new Editor();

Vorkurs Informatik WiSe 16/17

Objektorientiertes Programmieren

Programmieren II. Events (Ereignisse) Heusch 16.6 (2. Bd) Ratz 15. Institut für Angewandte Informatik

Objektorientierte Programmierung Studiengang Medieninformatik

Oliver Brinkmann Java Swing-Applikationen & JApplets (mit NetBeans)

Einführung in die OOP mit Java

Das Einsteigerseminar Objektorientierte Programmierung in Java

Javakurs für Fortgeschrittene

Objektorientierte Programmierung Studiengang Medieninformatik

Swing. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

Institut für Programmierung und Reaktive Systeme. Java 1. Markus Reschke

SOFTWARE ENGINEERING BESPRECHUNG ÜBUNG1. Programmverständnis, Dokumentation

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Gerüstbeispiel. Vererbungshierarchie: Typ 0

Einführung in die Programmierung für NF. Übung

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3

Objektorientierte Programmierung Studiengang Medieninformatik

PROCESSING EINE EINFÜHRUNG IN DIE INFORMATIK. Created by Michael Kirsch & Beat Rossmy

Eine Testoberfläche Mockup simuliert die Vorgänge Betrag aufladen, Betrag bezahlen und Guthaben abfragen mit einer Geldkarte.

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik GUI-Programmierung mit Swing

NTB Druckdatum:

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Programmiertechnik GUI Programmierung mit Java Swing

Beschreibung des Angebotes. Java Programmierung. LernenimInternet. Ansprechpartner. Angebot-Nr Angebot-Nr Weiterbildung.

Deklaration einer Klasse Innere innerhalb Klassen einer in Ja anderen v a Klasse

Probeklausur: Programmierung WS04/05

EAD II Übung 5. Graphische Benutzungsoberfläche mit BlueJ

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 2. Teil

Alexander Niemann. Das Einsteigerseminar" < Objektorientierte ^ Programmierung in Java. bhv. i.-

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Objektorientierte Programmierung

Vorkurs Informatik WiSe 17/18

JButton, JCheckBox, JRadioButton. Programmieren II. Vorlesung 7. Handout S. 1. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester 2009.

GUI-Programmierung. Teil I. Unterlagen zum Modul OOP mit Java V by MOU2/BFH-TI. Berner Fachhochschule Technik und Informatik

Graphical User Interfaces

Informatik Hochschule Mainz Geoinformatik und Vermessung. Wiederholung. Frohes Fest und Guten Rutsch!

PROCESSING ELTERN UND KINDER. Created by Michael Kirsch & Beat Rossmy

GUI Programmierung mit javax.swing

Kap. 35 Swing: Grundlagen Kap Swing: Hauptfenster

Fachhochschule Stuttgart Prof. Uwe Schulz 14. Juli 2005 Hochschule der Medien Klausur Informatik, EDV-Nr (42021) Seite 1 von 4

Objektorientierte Programmierung in Java

Grafische Benutzeroberflächen mit Swing

Institut für Informatik und Angewandte Kognitionswissenschaften

Medientechnik. Übung 3 MVC & Observer

Objektorientierte Software-Entwicklung

UNIVERSITÄT SIEGEN Fachbereich 12, Elektrotechnik und Informatik Fachgruppe Betriebssysteme / verteilte Systeme

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

16 Zeichnen in Swing-Komponenten , Prof. Dr. D. Ratz

Wahlpflichtfach Design Pattern

Bru ckenkurs Programmieren

11. GUI-Programmierung mit SWING Überblick

Transkript:

Einführung in die Programmierung für Nebenfach Medieninformatik Beat Rossmy, Michael Kirsch

Direct Feedback - Socrative Eure Mitarbeit ist uns wichtig! Installiert euch dazu die kostenlose App Socrative Student auf Eurem Smartphone oder nutzt das Webinterface unter http://b.socrative.com/login/ student/ Anonymer Login über den Raumnamen: MSMJ0KRQ 2

Objekte und Methoden Verwendung von IntelliJ, Klassen, Konzepte, Objekte, Verhalten von Objekten bei Java Swing, ActionListener Beat Rossmy, Michael Kirsch

Verspätete Kurzvorstellung :-) 4

Wer bin ich? Michael Kirsch (30 Jahre) Berufsausbildung zum Fachinformatiker (Anwendungsentwicklung) B.Sc. Hochschule Hof (Technische Informatik) Auslandsaufenthalt am International Institute of Information Technology Bangalore / Indien (M.Eng.) M.Sc. LMU München (Informatik) Softwarearchitekt / Softwareentwickler bei 5

Jambit - Where Innovation Works 6

Jambit - Where Innovation Works 7

Jambit - Where Innovation Works 8

Jambit - Where Innovation Works 9

Jambit - Where Innovation Works 10

Where to find the code? 11

Github - source code repository Github www.github.com Versionsverwaltung für Softwareprojekte Weitere Informationen hier: https://t3n.de/news/eigentlich-github-472886/ Alle Beispiele aus der Vorlesung gibt es hier: https://github.com/waspmuc/eipnf1718 12

Quiztime :) 13

Quiztime - Raumnummer MSMJ0KRQ Quiz: Welche Ausgabe erzeugt das folgende Programm? 14

Quiztime - Raumnummer MSMJ0KRQ Quiz: Welche Ausgabe erzeugt das folgende Programm? 15

Quiztime - Raumnummer MSMJ0KRQ Quiz: Welche Ausgabe erzeugt das folgende Programm? A: Das Ergebnis lautet: 7 Das Ergebnis lautet: 7 B: Das Ergebnis lautet: 7 Das Ergebnis lautet: 7 C: Das Ergebnis lautet: 7 Das Ergebnis lautet: 14 D: Das Ergebnis lautet: 14 Das Ergebnis lautet: 7 16

Quiztime - Raumnummer MSMJ0KRQ Quiz: Welche Ausgabe erzeugt das folgende Programm? A: Das Ergebnis lautet: 7 Das Ergebnis lautet: 7 B: Das Ergebnis lautet: 7 Das Ergebnis lautet: 7 C: Das Ergebnis lautet: 7 Das Ergebnis lautet: 14 D: Das Ergebnis lautet: 14 Das Ergebnis lautet: 7 17

Quiztime - Raumnummer MSMJ0KRQ Quiz: Welche Ausgabe erzeugt das folgende Programm? 18

Quiztime - Raumnummer MSMJ0KRQ 19

Quiztime - Raumnummer MSMJ0KRQ Quiz: Welche Ausgabe erzeugt das folgende Programm? A: 0 B: Das Programm funktioniert so nicht! C: i + a D: 100004 20

Quiztime - Raumnummer MSMJ0KRQ Quiz: Welche Ausgabe erzeugt das folgende Programm? A: 0 B: Das Programm funktioniert so nicht! C: i + a D: 100004 21

Quiztime - Raumnummer MSMJ0KRQ Quiz: Was wird benötigt, um Java zu programmieren UND das Programm auszuführen? A: Gute Drogen und viel Hoffnung B: Die JRE (Java Runtime Environment) reicht aus C: Das neue Macbook mit Touch Bar, 16 GB Arbeitsspeicher für 3199,00 D: JDK (Java Development Kit) und JRE (Java Runtime Environment) 22

Quiztime - Raumnummer MSMJ0KRQ Quiz: Was wird benötigt, um Java zu programmieren UND das Programm auszuführen? A: Gute Drogen und viel Hoffnung B: Die JRE (Java Runtime Environment) reicht aus C: Das neue Macbook mit Touch Bar, 16 GB Arbeitsspeicher für 3199,00 D: JDK (Java Development Kit) und JRE (Java Runtime Environment) 23

Inhalt I. Einleitung 1. Wie geht es weiter? 2. Java Swing II. Theorie 1. GUI in Java 2. Aufbau von Swing 3. JFrame 4. JPanel 5. ActionListener III. Anwendung 1. Java Swing in Action IV. Verknüpfung 1. Beginn Eures Projekts V. Ausblick 1. Nächste Vorlesung 2. Übung 24

Übersicht - Wie geht es weiter? Einführung in die Programmierung Processing Java Typen und Operatoren Kontroll- Strukturen Grundlagen aus Processing Swing Klassen und Objekte Gültigkeit und Konventionen Objekte/Klassen Methoden Arrays Konstruktoren Eingabenverarbeitung Animationen 25

Einleitung 26

Wie geht es weiter? Einführung in Java Swing (Oberflächenprogrammierung) Alle folgenden Vorlesungen bauen auf Eurem Projekt auf und es werden Stück für Stück neue Techniken vermittelt, damit Ihr Euer Spiel entwickeln könnt Dieses Mal: Einfache Oberflächen, Grafiken und ActionListener 27

Zwei Arten (Paradigmen) von Programmierung Prozedural (Anfänge der Programmierung) Fest definierte Reihenfolge des Ablaufs Sequentielle Abarbeitung Verwendung von einfachen Datentypen (bspw. int, double) Objektorientiert (seit den 90er Jahren) Reihenfolge abhängig von Verwendung der Objekte Objekten werden Eigenschaften und Verhalten zugewiesen Definition von eigenen Datentypen bzw. Klassen (bspw. Adressbucheintrag oder Klasse Mensch) 28

Java Swing Mit Swing werden Oberflächen oder auch GUI (Graphical User Interfaces) entwickelt Es besteht u.a. aus vielen verschiedenen Komponenten (JFrame, JPanel, JButton, JTextfield, ) Diese Komponenten sind Objekte! Viele Beispiele unter https://docs.oracle.com/javase/tutorial/ uiswing/examples/components/ Aufbau (siehe Abbildung) 29

Theorie 30

GUI in Java Am Anfang gab es Terminals Anschließend kamen mehr und mehr grafische Anwendungen auf Anfangs noch einfach und funktional (Maus- & Tastatursteuerung) 31

GUI in Java Später komplexer und schicker (Einfache und Multitouch-Gesten) In Java ist das alles ebenfalls möglich Bibliothek in Java zur GUI- Programmierung: AWT bzw. SWING Swing ist wie Lego: Es werden Komponenten ineinander gesteckt AWT wurde später durch SWING abgelöst, aber manche Komponenten von AWT sind in SWING verfügbar 32

Aufbau von Swing Vererbungshierarchie in Java (alles von Component abgeleitet) 33

JFrame Einfacher JFrame 34

JFrame & JPanel Ein JFrame enthält mehrere JPanels 35

JFrame & JPanel ActionListener reagieren auf Actions (bspw. Tastendrücke) 36

Anwendung 37

JFrame Einfacher JFrame mit der Größe 600x800 Pixel 38

JPanel in JFrame JPanel in einem JFrame 39

KeyListener KeyListener ermöglichen die Abfrage von Tastatureingaben Verwendung von KeyListener in zwei Varianten Implementierung des Interfaces KeyListener Implementierung in einer anonymen inneren Klasse Damit ein Fenster Key-Events abfragen kann, muss es im Fokus stehen spielfeld.setfocusable(true); //Aktivierung der Fokusierbarkeit KeyListener können die folgenden drei Events abfragen public void keytyped(keyevent e) public void keypressed(keyevent e) public void keyreleased(keyevent e) 40

KeyListener 41

Verknüpfung 42

Pong in Java (JPong) 43

Ausblick 44

Ausblick In den Übungen werden die Inhalte der heutigen Vorlesung vertieft Selbst Spielfeld erstellen Ball erstellen und bewegen Ball auf Spielfeld halten (Grenzen) Nach der letzten Übung, wird eine Musterlösung bereitgestellt Nach der Vorlesung wird euch ein Code-Grundgerüst bereitgestellt Im neuen Jahr werden wir wir Animationen einführen 45

Fragen? 46

47

Vielen Dank für Eure Zeit 48