• Keine Ergebnisse gefunden

Einführung in die Programmierung für Nebenfach Medieninformatik

N/A
N/A
Protected

Academic year: 2022

Aktie "Einführung in die Programmierung für Nebenfach Medieninformatik"

Copied!
48
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Einführung in die

Programmierung für

Nebenfach Medieninformatik

Beat Rossmy, Michael Kirsch

(2)

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:


(3)

Objekte und Methoden 


Verwendung von IntelliJ, Klassen, Konzepte, Objekte, Verhalten von Objekten bei


Java Swing, ActionListener

Beat Rossmy, Michael Kirsch

(4)

Verspätete

Kurzvorstellung 


:-)

(5)

Wer bin ich?

5

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

(6)

Jambit - 


Where Innovation Works

(7)

Jambit - 


Where Innovation Works

7

(8)

Jambit - 


Where Innovation Works

(9)

Jambit - 


Where Innovation Works

9

(10)

Jambit - 


Where Innovation Works

(11)

11

Where to find the

code?

(12)

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

(13)

13

Quiztime :)

(14)

Quiztime - Raumnummer

MSMJ0KRQ

Quiz: Welche Ausgabe erzeugt das folgende Programm?

(15)

15

Quiztime - Raumnummer

MSMJ0KRQ

Quiz: Welche Ausgabe erzeugt das folgende Programm?

(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

(17)

17

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

(18)

Quiztime - Raumnummer

MSMJ0KRQ

Quiz: Welche Ausgabe erzeugt das folgende Programm?

(19)

19

Quiztime - Raumnummer

MSMJ0KRQ

(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)

21

Quiztime - Raumnummer

MSMJ0KRQ

Quiz: Welche Ausgabe erzeugt das folgende Programm?

A: 0

B: Das Programm funktioniert so nicht!

C: i + a D: 100004

(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)

23

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)

(24)

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

(25)

Übersicht - 


Wie geht es weiter?

25

Einführung in die Programmierung

Processing Java

Typen und Operatoren

Kontroll- Strukturen

Grundlagen aus Processing Klassen und

Objekte

Gültigkeit und Konventionen

Methoden Arrays

Konstruktoren Eingaben- verarbeitung

Animationen

Swing

Objekte/Klassen

(26)

Einleitung

(27)

Wie geht es weiter?

27

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

(28)

Reihenfolge abhängig von Verwendung der Objekte

Objekten werden Eigenschaften und Verhalten zugewiesen

Definition von eigenen

Datentypen bzw. Klassen (bspw.

Adressbucheintrag oder Klasse

Zwei Arten (Paradigmen) von Programmierung

Fest definierte Reihenfolge des 
 Ablaufs

Sequentielle Abarbeitung

Verwendung von einfachen 


Datentypen (bspw. int, double)

Prozedural 


(Anfänge der Programmierung)

Objektorientiert


(seit den 90er Jahren)

(29)

Java Swing

29

• 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)

(30)

Theorie

(31)

GUI in Java

31

Am Anfang gab es Terminals

Anschließend kamen mehr und mehr grafische Anwendungen auf

Anfangs noch einfach und funktional
 (Maus- & Tastatursteuerung)

(32)

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

(33)

Aufbau von Swing

33

Vererbungshierarchie in Java (alles von Component abgeleitet)

(34)

JFrame

Einfacher JFrame

(35)

JFrame & JPanel

35

Ein JFrame enthält mehrere JPanels

(36)

JFrame & JPanel

(37)

37

Anwendung

(38)

JFrame

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

(39)

JPanel in JFrame

39

• JPanel in einem JFrame

(40)

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

(41)

KeyListener

41

(42)

Verknüpfung

(43)

Pong in Java (JPong)

43

(44)

Ausblick

(45)

45

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

Ausblick

(46)

Fragen?

(47)

47

(48)

Vielen Dank für 


Eure Zeit

Referenzen

ÄHNLICHE DOKUMENTE

A: Solange der Entwickler die Wahrheit sagt, wird dieser Codeblock durchlaufen B: Diese Code-Zeile funktioniert nicht.. Es muss eine

• Beachten Sie dabei, dass die Variablen bis zur darauffolgenden spitzen Klammer gültig sind, auch wenn diese in einer neuen Zeile steht. • Im folgenden Beispiel ist

In den letzten Wochen habt Ihr euch mit Processing beschäftigt. In der folgenden Zeit werdet Ihr mit Java ein Projekt umsetzen. Um Euch dafür vorzubereiten, ist es wichtig, dass

Die Klasse Spielfeld soll von JPanel abgeleitet werden und kann somit zu einem JFrame, also dem Spielfenster hinzugefügt werden.. Die Klasse Spielfeld soll auf

Ebenso soll der Ball sich erst bewegen, wenn einer der Spieler eine Eingabe getätigt hat, dass er das Spiel jetzt starten möchte, in dem er bspw. die

Schritt: Erkennen von Kollisionen mit den beiden Außenwänden, woraufhin der Ball nicht abprallen, sondern wieder in die Mitte des Spielfelds gesetzt werden soll und das Spiel erneut

Algorithmen sind unabhängig von einer konkreten Programmiersprache und können in verschiedenen Programmiersprachen codiert werden; in der Regel ist eine bestimmte

Fühlst du dich sicher im Stoff? Dann kannst du bei unserem Tutor den Kapiteltest machen. Wenn du ihn bestehst, darfst du das nächste Kapitel oder das Additum bearbeiten. + Additum