Spiele programmieren mit Lazarus, Java und Python
|
|
|
- Calvin Norbert Schmitt
- vor 8 Jahren
- Abrufe
Transkript
1 Spiele programmieren mit 1. Einsatz eines Timers Kollision zweier Objekte Einbinden von Bildern für Spieler- oder Gegenspielerfiguren Bewegungen von Objekten (z.b. Bildern) Tastatureingaben und virtuelle Tastencodes Listenverarbeitende visuelle Komponente (ListBox) Mausclicks auf visuelle Komponenten
2 1. Einsatz eines Timers Timersymbol in der Reiterleiste und Timerprozedur Timer an: Timer aus: Timer1.enabled := true; Timer1.enabled := false; I) Implementieren des Timers In gibt es (meines Wissens) keine Klasse für einen Timer. Hier muss ein wenig "getrickst" werden, indem eine normale Prozedur ich nenne sie "Timer"- definiert wird, die sich wieder rekursiv zeitverzögert aufruft. Die Prozedur 'after' des Fensterobjekts, die zeitverzögert eine Prozedur aufrufen kann, ist hier dienlich. Gestartet wird der Timer über den "after"-aufruf in der GUI. def Timer(): Fenster.after(500, Timer) #GUI Fenster = tkinter.tk() Fenster.after(50, Timer) II) An- und Ausschalten des Timers Das An- und Ausschalten des Timers kann über eine boolesche Variable geregelt werden. timeron = True timeron = False def Timer(): if (timeron == True): Fenster.after(500, Timer) #GUI Fenster = tkinter.tk() I) Implementieren des Timers Für den Timer gibt es mehrer Klassen. Wir können den Timer der javax.swing nehmen. Wir der Timer nicht explizit importiert, kann es zu einer Fehlermeldung kommen, da in der java.awt auch ein Timer implementiert ist. import javax.swing.timer; Timer t; ActionListener TimerProzedur = new ActionListener() { public void actionperformed (ActionEvent evt) { t = new Timer(500, TimerProzedur); II) Ein- und Ausschalten des Timers t.start(); t.stop(); 2
3 2. Kollision zweier Objekte Der Ursprung des Bildschirmkoordinatensystems liegt oben links und geht auf x- und y- Achse in den positiven Bereich. Objekt2 kollidiert mit Objekt1, wenn es gleichzeitig in den horizontalen Schraffurbereich und in den vertikalen Schraffurbereich des Objekts1 hineinragt. Objekt1.top Objekt2.top Objekt1.left Objekt1 Objekt2.left Objekt2 Objekt2.height Objekt2.height Objekt1.getY() Objekt2.getY() Objekt1.getX() Objekt1 Objekt2.getX() Objekt2 Objekt2.getHeight() Objekt2.getWidth() 3
4 Die Funktion bbox liefert ein 4-Tupel, das die linke obere und die rechte untere Ecke des Rahmens eines Objekts (x1, y1, x2, y2) beinhaltet a = canvas.bbox(objekt1) b = canvas.bbox(objekt2) a[1] b[1] a[0] Objekt1 b[0] Objekt2 b[3]-b[1] b[2]-b[0] Damit sieht die Kollisionsabfrage so aus: function testekollision: boolean; begin result := false; if (objekt1.top < objekt2.top + objekt2.height) and (objekt1.top + objekt1.height > objekt2.top) and (objekt1.left < objekt2.left + objekt2.width) and (objekt1.left + objekt1.width > objekt2.left) then result := true; end; def testekollision(): Rueckgabe = False a = canvas.bbox(objekt1) b = canvas.bbox(objekt2) if ((a[1]<b[3]) and (a[3]>b[1]) and (a[2]>b[0]) and (a[0]<b[2])): Rueckgabe = True return Rueckgabe public boolean testekollision() { boolean Ergebnis = false; if ((objekt1.gety() < (objekt2.gety() + objekt2.getheight())) & ((objekt1.gety() + objekt1.getheight()) > objekt2.gety()) & (objekt1.getx() < objekt2.getx() + objekt2.getwidth()) & (objekt1.getx() + objekt1.getwidth() > objekt2.getx())){ Ergebnis = true; return Ergebnis; 4
5 3. Einbinden von Bildern für Spieler- oder Gegenspielerfiguren --> Image-Komponente Bild laden über die Eigenschaft: Picture Ladedialog Bild proportional darstellen über Eigenschaft: proportional := true I) Neue Klasse für die Bildanzeige Zur Darstellung von Bildern definiert man am Besten eine neue Klasse "Bildanzeige", die von einer bilddarstellungsfähigen Klasse abgeleitet wird (Canvas oder JPanel). Die Funktion "anzeigen" kann neue Bilder zur Laufzeit laden. // externe Klasse, um Bilder im Formular anzuzeigen import java.awt.*; public class Bildanzeige extends Canvas { private Image Image1 = null; Bildanzeige( String s ) { Image1 = Toolkit.getDefaultToolkit().getImage( s ); // Objekt Image1 vom Typ Image enthält die Grafik-Ressource if (Image1!= null) repaint(); // Grafik wird neu gezeichnet public void paint( Graphics g ) { g.drawimage(image1, 0, 0, this ); public void anzeigen (String s) { Image1.flush(); // Bild freigeben Image1 = Toolkit.getDefaultToolkit().getImage( s ); if (Image1!= null) repaint(); // Ende der Klasse "Bildanzeige" II) Bild im Formular anlegen Ein erzeugtes Objekt vom Typ "Bildanzeige" kann nun im Frame angezeigt werden. public Bildanzeige a = new Bildanzeige("FlappyBirdGif.gif"); a.setbounds(100, 300, 51, 36); cp.add(a); 5
6 Ähnlich wie bei muss ein Image in ein Objekt vom Typ PhotoImage geladen werden, um dann auf einer Zeichenfläche (canvas) angezeigt zu werden. Als Formate sind neben gif und pgm angeblich noch jpg möglich. #GUI Bild = tkinter.photoimage(file="flappybirdgif.gif") canvas=tkinter.canvas(fenster, width=600, height=600, bg='white') canvas.pack() b = canvas.create_image(200,300,image=bild, anchor=tkinter.nw) 4. Bewegungen von Objekten (z.b. Bildern) In können die Attribute left und top direkt verändert werden. Objekt1.left := Objekt1.left + 10; Objekt1.top := Objekt1.top -20; Hier können die Koordinaten der linken oberen Ecke x und y ausgelesen und über "setlocation()" neu belegt werden. objekt1.setlocation(objekt1.getx()+10, objekt1.gety()-20); Wenn Images (oder andere Komponenten) in einem Fenster erstellt werden, so werden sie intern durchnummeriert. Mit der Nummer kann das entsprechende Objekt relativ zu seiner aktuellen Position bewegt werden. canvas.create_image(200,yposition,image=bild, anchor=tkinter.nw) canvas.move(1,10,-20) Hier wird das erste erstellte Objekt unser Bild- um 10 in x-richtung und um -20 in y- Richtung bewegt. Das Arbeiten mit diesen Nummern ist allerdings sehr unsicher, da die Nummern in Erstellreihenfolge der Objekte angelegt werden. Vertauscht sich da was, ist alles hin. Um diese Unsicherheit mit den Nummern zu umgehen, sollte eine Referenz auf das Bild angelegt werden: Bild = tkinter.photoimage(file="flappybirdgif.gif") b = canvas.create_image(200,200,image=bild, anchor=tkinter.nw) canvas.move (b, 10, -20) 6
7 5. Tastatureingaben und virtuelle Tastencodes Um Tastatureingaben abzufangen, sollte zunächst das Formularattribut "keypreview" auf true gesetzt werden. procedure TForm1.FormCreate(Sender: TObject); begin Form1.KeyPreview:=true; end; In der Unit LCLType sind die sog. virtuellen Tastencodes enthalten, die in der FormKeyDown in der Referenzvariablen Key bei Tastendruck abgefangen und abgefragt werden können. uses LCLType; procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin case Key of VK_UP : // Pfeil hoch VK_RIGHT : // Pfeil rechts VK_DOWN : // Pfeil unten VK_LEFT : [... ] // Pfeil links VK_SPACE : // Leertaste end; end; Um Tastatureingaben auf z.b. der Canvas abzufangen, sollte zunächst der Fokus auf das Canvas gesetzt werden. canvas1.requestfocus(); In der Klasse "KeyEvent" sind die sog. virtuellen Tastencodes enthalten, die in einem KeyListener bei Tastendruck über "getkeycode()" abgefangen und abgefragt werden können. canvas1.addkeylistener(new KeyAdapter() { public void keypressed(keyevent evt) { canvas1_keypressed(evt); if (evt.getkeycode() == KeyEvent.VK_RIGHT ) { //Pfeil hoch else if (evt.getkeycode() == KeyEvent.VK_LEFT ) { // Pfeil rechts else if (evt.getkeycode() == KeyEvent.VK_UP ) { // Pfeil hoch else if (evt.getkeycode() == KeyEvent.VK_DOWN ) { //Pfeil unten repaint(); ); 7
8 Ereignisse (Tastenereignisse/ Mausereignisse) können an eine Komponente "gebunden" werden. Bei der Bindung wird der Verbindung Komponente-Taste eine Prozedur zur Ausführung zugeordnet. def rechts (event): def links (event): def hoch(event): def runter(event): #GUI Fenster = tkinter.tk() Fenster.bind("<KeyPress-Left>", links) Fenster.bind("<KeyPress-Right>", rechts) Fenster.bind("<KeyPress-Down>", runter) Fenster.bind("<KeyPress-Up>", hoch) #GUI ENDE 6. Listenverarbeitende visuelle Komponente (ListBox) Komponente: ListBox I) Markierte Zeilennummer auslesen: procedure TForm1.ListBox1Click(Sender: TObject); var index : Integer; begin index := ListBox1.ItemIndex+1; // Nummer fängt bei 0 an end; II) Markierten Text auslesen: s := Listbox1.GetSelectedText; III) Befüllen: ListBox1.Items.append('Beispiel'); Hier kann die Klasse "JList" als Liste benutzt werden. Um eine Liste zu befüllen braucht es eine Adapter-Klasse ListModel. private JList jlist1 = new JList(); private DefaultListModel jlist1model = new DefaultListModel(); jlist1.setmodel(jlist1model); I) Eine Liste zu befüllen führt nun über den Adapter: 8
9 jlist1model.removeallelements(); jlist1model.addelement("beispieltext"); II) Das Auslesen der Nummer der geklickten Zeile: public void jlist1_mouseclicked(mouseevent evt) { int index = jlist1.getselectedindex(); Komponente: ListBox def Liste1Click(event): [... #GUI Liste1 = tkinter.listbox (width=30, height = 10) Liste1.bind('<<ListboxSelect>>', Liste1Click) # Die doppelten eckigen Klammern sind richtig I) Markierte Zeilennummer auslesen: def Liste1Click(event): Tupel = Liste.curselection() index = int(tupel[0]) II) Markierten Text auslesen: def Liste1Click(event): Tupel = Liste1.curselection() index = int(tupel[0]) s = Liste1.get(index) III) Befüllen: Liste1.delete("0","end") Liste1.insert(" Beispieltext")) 7. Mausclicks auf visuelle Komponenten Die Struktur der Ereignisprozeduren (hier: MouseDown) in erhält man am leichtesten, wenn man für eine entsprechende Beispielkomponente auf dem Formular die Prozedur auswählt und dann die Komponente und Sender: TObject weglässt: procedure TForm1.Button1MouseDown (Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); 9
10 Bei abgeleiteten Komponenten wird einfach die MouseDown (oder eine andere) überschrieben. procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override; procedure TMineButton.MouseDown(Button: TMouseButton; Shift: TShiftState; X,Y: Integer); begin if button = mbleft then if button = mbright then In unserer -Version wird im Constructor einfach ein Mouse-Listener hinzugefügt, der bei mousepressed die Methode LinksClick() bzw. RechtsClick() aufruft. Die Maustasten werden durch das Attribut evt.ismetadown() == true unterschieden. True bei rechter Maustaste, false bei linker Maustaste. this.addmouselistener(new MouseAdapter() { public void mousepressed(mouseevent evt) { if (evt.ismetadown() == true) { //rechte Maustaste- bei false linke Maustaste RechtsClick(); else { LinksClick(); ); void LinksClick() { void RechtsClick() { Die Click-Methode muss bei separate als einfache Methode implementiert und über die Methode bind an das Mausereignis <ButtonPress-1> für die linke Maustaste bzw. <ButtonPress-3> für die rechte Maustaste gebunden werden. widget.bind(event, handler) linke Maustaste: <Button-1>, <ButtonPress-1> oder <1> mittlere Maustaste: <Button-2>, <ButtonPress-2> oder <2> rechte Maustaste <Button-3>, <ButtonPress-3> oder <3> linke Taste loslassen <ButtonRelease-1> Doppelclick <Double-Button-1> def init (self, master): Label. init (self, master) self.bind(sequence="<buttonpress-1>", func=self.linksclick) self.bind(sequence="<buttonpress-3>", func=self.rechtsclick) 10
Einbindung der Tastatur
Einbindung der Tastatur Auch die Tastatur kann man wie die Maus zur interaktiven Programmsteuerung verwenden. Bei der Maus ist stets klar, welche grafische Komponente bei einem Klick oder einer Bewegung
JButton, JCheckBox, JRadioButton. Programmieren II. Vorlesung 7. Handout S. 1. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester 2009.
Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2009 1 / 30 2 / 30 JButton, JCheckBox, JRadioButton In Swing existieren drei wesentliche Klassen für Schaltflächen: JButton für normale
Jetzt sollt ihr von der Vorlage der Grundversion 1.0 ein eigenes Textadventure erstellen.
Teil B: Erweiterungen Jetzt sollt ihr von der Vorlage der Grundversion 1.0 ein eigenes Textadventure erstellen. Die folgenden Aufgaben und Ausführungen geben einige Hilfestellungen, welche (mindestens
Universität Paderborn Prof. Dr. Stefan Böttcher. Kapitel 3: Java Applets
Kapitel 3: Java Applets 1 Was sind Applets? kleine in Fenstern ausführbare Programme typisch: Aufruf im Browserfenster als Teil einer HTML-Seite Anfang des umgebenden HTML-Textes
Tetris soll als Computerspiel mittels Java realisiert werden, wobei ein objektorientierter Ansatz gewählt
Informatik Tetris Seite 1 Tetris Tetris ist ein Computerspiel, bei dem man herunterfallende, immer aus vier Teilen bestehende Bausteine so drehen muss, dass sie möglichst ohne Lücken eine Mauer bilden.
Einfü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
Simulation von digitalen Schaltungen
Eckart Modrow Simulation von digitalen Schaltungen S. 1 Simulation von digitalen Schaltungen Inhalt: 1. Bezug zum Unterricht 2. Funktionsumfang des Simulators HASI 3. Klassenhierarchien 4. Die Erzeugung
Einführung in die Programmierung für NF. Übung 08
Einführung in die Programmierung für NF Übung 08 Inhalt Eventbehandlung in Java Swing Einführung in die Programmierung für NF Übung 08 2 Eventbehandlung in Java Swing Wir haben bereits einige grafische
NTB 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
Prof. 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
Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren
Programmierung mit Delphi
Programmierung mit Delphi Programmierung Kommunikation Mensch Maschine Komponente Attribute Formular Größe, Farbe, Schaltflächen,... Label Beschriftung (Caption),... Edit... Button... Quellcode Anweisungen
Java 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
AK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik www.munz-udo.de
Stand FTE2 Anfang 4. Semester plus Projekt Multiuhren_Thread Ich gehe im Hinblick auf Klassenarbeiten und der Abschlussprüfung davon aus, dass Sie das Skript OOP JAVA2 durchgearbeitet haben. Wir haben
Schritt 1 - Ein Spielfeld
Schritt 1 - Ein Spielfeld Wir beginnen mit zwei einfachen Java-Klassen, dem eigentlichen Spielfeld und dem Applet zum Anzeigen des Spielfeldes (und später der Buttons und der anderen Bedienelemente). Hier
Programmierung in Delphi
Berufsbildende Schule Wirtschaft Trier Programmierung in Delphi (Einführung in die IDE) Unterrichtsmaterialien von Christoph Oberweis Stand: 13.11.2011 1 Einführung in die Delphi-Programmierung Delphi-Entwicklungssystem
Abteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2
Inhalt 1. Drag and Drop (DnD) 1. Transfer-Mechanismus 2. Transfer-Support 3. Cursor-Symbole 4. Einführendes Beispiel 5. Komponenten DnD-fähig machen 6. Standard DnD-Verhalten ändern Folie 1 Lernziele Sie
DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung
DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung Aufgabe Editor package BA.GUI.Swing; import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.logging.level; import java.util.logging.logger;
Programmieren II. Java im Vergleich zu anderen Sprachen. Einführung: GUI. Einführung: Grafische Benutzeroberflächen. Dr.
Programmieren II Dr. Klaus Höppner Hochschule Darmstadt SS 2008 1 / 22 2 / 22 Einführung: GUI Fast alle Programme besitzen mittlerweile eine grafische Benutzeroberfläche (engl: Graphical User Interface,
Institut für Informatik
Technische Universität München Institut für Informatik Lehrstuhl für Computer Graphik & Visualisierung WS 2009 Praktikum: Grundlagen der Programmierung Aufgabenblatt 11 Prof. R. Westermann, R. Fraedrich,
Man kann bei der Deklaration einen Wert der Variablen angeben oder später den Wert zuweisen. Beide Befehlsfolgen leisten dasselbe:
Datentypen Der Typ jeder verwendeten Variablen muss angegeben werden. Folgende Datentypen haben wir kennen gelernt: int negative und positive ganze Zahlen double negative und positive Dezimalzahlen boolean
Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer
Applets Belebung von Webseiten Dipl.-Ing. Wolfgang Beer Was sind Applets? Java Klassen, die spezielle Richtlinien befolgen, um: "in Internet-Browsern lauffähig zu sein" Somit ist, komplexere Funktionalität,
Probeklausur: 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,
Java 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
Einstieg in die Informatik mit Java
1 / 15 Einstieg in die Informatik mit Java Ereignisverwaltung und Layout-Typen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 15 1 Ereignis-Verwaltung 2 Layout-Typen GridLayout
GUI 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
GUI 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
Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung
Übersicht 3.1 Modell Konto 3.2 Modell Konto - Erläuterungen 3.3 Benutzer Ein- und Ausgabe mit Dialogfenster I 3.4 Benutzer Ein- und Ausgabe mit Dialogfenster II 3.5 Klassen- und Objekteigenschaften des
Abteilung 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
Java 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
6. Grafikprogrammierung
Delphi Grundkurs Seite 49 6. Grafikprogrammierung Die Grafikoperationen beziehen sich immer auf die Zeichenoberfläche (Leinwand, Canvas) eines bestimmten Objekts. (0,0) des Formulars Image - Komponentenpalette
Projekt Informatik: Programmieren einer selbstgewählten Anwendungssoftware. Jenny Förster Susann Lorenz
Projekt Informatik: Programmieren einer selbstgewählten Anwendungssoftware Jenny Förster Susann Lorenz Inhaltsverzeichnis 1. Vorstellung des Projektzieles 2. Einleitung Das Menü XXO Roulette Impressum
Probeklausur: 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,
Ziel dieses Kapitels: Einführung in die Grundzüge der Programmierung graphischer Benutzeroberflächen (engl.: "graphical user interface", GUI) in Java
GUI-Programmierung in Java GUI-Programmierung in Java 2002 Prof. Dr. Rainer Manthey Informatik II 1 AWT und Swing Ziel dieses Kapitels: Einführung in die Grundzüge der Programmierung graphischer Benutzeroberflächen
1.2 Attribute und Methoden Aufbau einer Java-Klasse:
Aufbau einer Java-Klasse: public class Quadrat { int groesse; int xposition; String farbe; boolean istsichtbar; public void sichtbarmachen() { istsichtbar = true; public void horizontalbewegen(int distance){
Drucken soll nur das Panel, nicht der ganze Rahmen gedruckt werden.
Kapitel 1 Drucken von Swing-Komponenten. Wir wollen eine einfache Methode zum Drucken einer Swing-Komponente vorstellen und daran den Mechanismus der Druckereinbindung in JAVA studieren. Anschließen wird
Swing :Komponenten I (Teil 2)
l Bei Swing handelt es sich um eine Programmierschnittstelle und Grafikbibliothek zum Programmieren von grafischen Benutzeroberflächen l Swing stellt eine Menge von Klassen zur Verfügung l Swing wurde
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 04 Referenzen, Overloading, Klassen(hierarchien) Clemens Lang T2 18. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/13 Organisatorisches Nächster Übungstermin
Hochschule der Medien Prof. Uwe Schulz 14. Juli 2010 Klausur Informatik, EDV-Nr. 40301 Seite 1 von 5. Teil 2: Aufgaben
Hochschule der Medien Prof Uwe Schulz 14 Juli 2010 Klausur Informatik, EDV-Nr 40301 Seite 1 von 5 Name: Matr Nr: Teil 2: Aufgaben Hilfsmittel: alle außer tragbare Computer und Nachbar Bearbeitungszeit:
Ab jetzt: Java ohne Kara
Java ohne Kara Ab jetzt: Java ohne Kara Ziel: Erfahrungen sammeln mit ersten Java Programmen JavaKara -> Java Ablauf in JavaKara: 1. Programm schreiben 2. Kompilieren 3. Programm starten Ablauf in Java
LWB VIII. Programmieren mit Delphi Zur Laufzeit verwaltete Objekte. Zur Laufzeit verwaltete Objekte. Am Beispiel des bekannten Memory-Spieles
Am Beispiel des bekannten Memory-Spieles Warum Spiele? fragen Sie. Ich antworte: um die Kunst der Erfindung zu vervollkommnen. (Leibniz) Mit seinen einfachen und unzweideutigen Regeln ist ein Spiel immer
Swing Lernen am Code Teil 1
Swing Lernen am Code Teil 1 Swing Fenster erzeugen import java.awt.* import java.awt.event.* import javax.swing.* class SwingDemo{ static JFrame Fenster; public static void main(string[] args){ } } Fenster
Einführung in die Informatik - Teil 4b - Zeichnen mit der Maus im JBuilder
Eckart Modrow Zeichnen mit der Maus im JBuilder S. 1 Einführung in die Informatik - Teil 4b - Zeichnen mit der Maus im JBuilder Inhalt: 1. Arbeiten mit der Maus 2. Aufgaben Literaturhinweise: Küchlin/Weber:
Handbuch 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
Programmierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE22-NutzungVonKlassen (Stand 28.09.2012) Aufgabe 1: Entwickeln Sie in Eclipse auf der Basis der vorgestellten Java-GUI-Klassen ein Java- Programm, das
Fenster in Java. von Stefanie Gerckens 1
Fenster in Java von Stefanie Gerckens 1 Inhaltsverzeichnis Die verschiedenen Fensterklassen Aufrufen und Schließen eines Fensters Visuelle Eigenschaften eines Fensters Anzeigezustand eines Fensters Fensterelemente
Lösungen. 1. Aufgabe. // ActionExample.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.
Lösungen 1. Aufgabe // ActionExample.java import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; public class ActionExample extends JFrame int counter = 1; JLabel counterlabel; public
Objektorientierte 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
Zentrale Objekte zur Programmierung graphischer Benutzeroberflächen (GUI)
1 JAVA für Bauingenieure Alexander Karakas SS 2008 Zentrale Objekte zur Programmierung graphischer Benutzeroberflächen (GUI) 21.05.2008 2 Was ist ein(e) GUI? GUI = Graphical User Interface = Graphische
Grundlagen 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
3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine
Liste Programmieren Java Überblick
Liste Programmieren Java Überblick 1 Was ist Java? 2 Klassen und Objekte 3 Vererbung 4 Schnittstellen 5 Innere Klassen 6 Exceptions 7 Funktionsbibliothek 8 Datenstrukturen und Algorithmen 9 Ein-/Ausgabe
Graphische 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
Graphische 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
Interaktive 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
Graphic Coding. Klausur. 9. Februar 2007. Kurs A
Graphic Coding Klausur 9. Februar 2007 Kurs A Name: Matrikelnummer: Hinweise - Es sind keine Hilfsmaterialien erlaubt. (Keine Bücher, Taschenrechner, Handys) - Sie haben zwei Stunden Zeit. - Insgesamt
Tutorial04: Swing: Erstellen eines JFrames mit einem JSplitPane
Hochschule Harz Programmierung2 Tutorial 04: FB Automatisierung und Informatik Dipl.-Inf., Dipl.-Ing. (FH) M. Wilhelm Programmierung 2 für MI / WI Thema: Swing, JSplitPane und I/O Versuchsziele Kenntnisse
Klausur in 12.1 Themen: Zahlsysteme, Grundlagen von Delphi (Bearbeitungszeit: 90 Minuten)
Name: «Vorname» «Name» Klausur in 12.1 Themen: Zahlsysteme, Grundlagen von Delphi (Bearbeitungszeit: 90 Minuten) Informatik 12 2 VP je 2 VP 6 VP 0 Notieren Sie alle Antworten in einer Word-Datei Klausur1_«Name».doc
Objektorientierte Programmierung
Objektorientierte Programmierung Exkurs: Graphische Benutzeroberflächen FH Braunschweig/Wolfenbüttel Sommersemester 2009 1 / 22 Gliederung I Wiederholung Klassen, Objektorientierung (Kapitel 10,11) Exkurs:
Java Schulung (Java 2 Java Development Kit 5 / 6)
2. Grundlagen der Objektorientierung 2.1 Klassen, Attribute, Methoden Klassen Eine Klasse beschreibt als Bauplan Gemeinsamkeiten einer Menge von Objekten ist also ein Modell, auf dessen Basis Objekte erstellt
Einstieg 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
II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:
Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen
6 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
Programmieren 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"
Graphische Programmierung: GUIs: graphical user interfaces
Graphische Programmierung: GUIs: graphical user interfaces Ziel: Java -Programmierung und Handhabung von graphischen Benutzeroberflächen (in Applets) mehrere Fenster Fenster-Eigenschaften: aktiv oder inaktiv
Java 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
Kapitel 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
Python - Grafische Oberflächen mit TKinter erstellen
Python - Grafische Oberflächen mit TKinter erstellen Grafische Benutzeroberflächen... Graphical User Interface (GUI) sind eine Schnittstelle zwischen Mensch und Maschine. steuern die Eingabe und Ausgabe
Delphi DLL Tutorial Wie exportiere ich Komponenten aus einer DLL?
Delphi DLL Tutorial Wie exportiere ich Komponenten aus einer DLL? Von Padmalcom (20.03.2009) www.jofre.de Nach dem Tutorial 1 von Leonardo M. Ramé 1 Ja, es geht wirklich! Im Internet sind tausende Forenbeinträge
Container-Klassen in Delphi
Verwalten von Objekten mit Hilfe von Container-Klassen am Beispiel eines Memory Spieles Container-Klassen in Delphi Michael Puff [email protected] 2010-03-26 Inhaltsverzeichnis Inhaltsverzeichnis 1
Einführung in Javadoc
Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:
Problemdefinition. Datum 26.Oktober Projektbezeichnung Softwareversion von Würfelpoker
Problemdefinition Datum 26.Oktober 2004 Projektbezeichnung Softwareversion von Würfelpoker Autor Name: Ing. Andreas Schlichtinger Matrikelnummer: 92540 E-mail: [email protected] Kurzbeschreibung
1. Typen und Literale (6 Punkte) 2. Zuweisungen (6 = Punkte)
Praktische Informatik (Software) Vorlesung Softwareentwicklung 1 Prof. Dr. A. Ferscha Hauptklausur am 01. 02. 2001 Zuname Vorname Matr. Nr. Stud. Kennz. Sitzplatz HS / / / Punkte Note korr. Fügen Sie fehlende
Kapitel 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
Ein Manager mit CardLayout layout/cards.java
201 Copyright 1996-1998 by Axel T. Schreiner. All Rights Reserved. Ein Manager mit CardLayout layout/cards.java CardLayout dient vor allem zum Aufbau von Inspektoren: In der gleichen Fläche soll je nach
4 Codierung nach Viginere (Lösung)
Kapitel 4 Codierung nach Viginere (Lösung) Seite 1/14 4 Codierung nach Viginere (Lösung) 4.1 Einführung Blaise de Vigenère lebte von 1523 bis 1596 in Frankreich und war nach dem Studium bei verschiedenen
Grafikausgabe 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
Objektorientierte Programmierung
Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Übungsblatt 5 Lösungsvorschlag Objektorientierte Programmierung 22. 05. 2006 Lösung 9 (SMS-Eingabe am
5.4 Klassen und Objekte
5.4 Klassen und Objekte Zusammenfassung: Projekt Figuren und Zeichner Figuren stellt Basisklassen für geometrische Figuren zur Verfügung Zeichner bietet eine übergeordnete Klasse Zeichner, welche die Dienstleistungen
Komponente PortIO für Delphi 5.0
Komponente PortIO für Delphi 5.0 PortIO Handbuch Seite 1 von 12 INHALTSVERZEICHNIS Komponente PortIO... 4 Private Funktion... 5 Protected Funktion... 6 Public Funktion... 7 Published Funktion... 8 Kompnenten
5.14 Generics. Xiaoyi Jiang Informatik I Grundlagen der Programmierung
Motivation für Generics: Containertypen speichern eine Anzahl von Elementen anderer Typen Wie definiert man die Containerklasse ArrayList? In der Definition könnte man als Elementtyp Object angeben maximale
FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Interfaces
10 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Wiederholung: Interfaces Aber: Mehrfachvererbung von Klassen ist in Java nicht erlaubt. Ausweg Definition eines Interfaces, z.b.:
II.3.1 Rekursive Algorithmen - 1 -
1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.3.1 Rekursive Algorithmen -
Theorie 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
Kapitel 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
Programmieren in Java
Programmieren in Java Dateien lesen und schreiben 2 Übersicht der heutigen Inhalte File Streams try-with-resources Properties csv-dateien 3 Klasse File Die Klasse java.io.file bietet Unterstützung im Umgang
Übungen zur Android Entwicklung
Übungen zur Android Entwicklung Aufgabe 1 Hello World Entwickeln Sie eine Hello World Android Applikation und laden diese auf den Emulator. Leiten Sie hierfür die Klasse android.app.activity ab und entwerfen
import java.awt.*; import java.awt.event.*; import javax.swing.*;
Swing Workshop Dieser Workshop enthält grundsätzliche Informationen über Swing und Java und regt mit einigen Beispielen und Übungen zum weiteren Erkunden dieses Themengebietes an. Kapitel 1: Das erste
von 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
