Spiele in Lazarus objektorientiert programmieren/Wichtige Klassen für die ersten Spiele und Java: Unterschied zwischen den Seiten

Aus ZUM-Unterrichten
main>Peterdauscher
Keine Bearbeitungszusammenfassung
 
main>Karl Kirst
(float)
 
Zeile 1: Zeile 1:
==  Fenster – TForm ==
{{Kurzinfo|Java|Software|Liste}}
'''Java''' ist eine [[Objektorientierte Programmierung|objektorientierte]], plattformunabhängige [[Programmiersprachen|Programmiersprache]]. Java-Programme benötigen üblicherweise zur Ausführung eine spezielle Umgebung, die Java Virtual Machine. Der Vorteil ist, dass nur diese Umgebung an verschiedene Computer und [[Betriebssysteme]] angepasst werden braucht. Sobald dies geschehen ist, laufen auf der Plattform alle Java-Programme ohne Anpassungsarbeiten.


===  Wichtige Eigenschaften ===
{{Informatik|Java Quelltexte bitte mit <nowiki><java>...</java></nowiki> einfügen.}}


{{ZUM-Wiki float|
* [[ZUM-Wiki:Sei mutig|Sei mutig!]] Mach mit!
* Wenn du noch Beispiele und Ideen aus dem Unterricht hast, dann gib sie doch einfach frei, indem du hier einen Artikel anlegst oder ergänzt. Es ist ganz einfach!
* Falls du Dinge von hier ausprobierst, so hinterlass doch einen kurzen Kommentar auf der Diskussionsseite.
* Wenn du eigene Beispiele oder Tutorials im Netz hast oder gute Beispiele kennst, dann ergänze doch hier Links.
* Was es schon gibt (und gerne noch überarbeitet und ergänzt werden darf), zeigt die [[:Kategorie:Java|Kategorie ''Java'']].
}}


{| class ="wikitable toptextcells"
==Java als Programmiersprache im Unterricht==
! Eigenschaft
{{Kasten gelb|'''Java''' wird immer häufiger als [[Programmiersprachen|Programmiersprache]] im Unterricht verwendet.
! Datentyp
* Entsprechend gibt es '''zahlreiche Literatur, Fortbildungen und Software''' zum Thema Java im Unterricht.
! Bedeutung
* Java ist '''kostenlos und plattformunabhängig'''. Java ist stabil, aufgrund der Vielzahl der Versionen und Rechnerkonstellationen kann es aber zu unvorhergesehenen Problemen kommen.
|-
* Java ist auf den ersten Blick '''bedienerunfreundlich'''. Bereis die Abfrage Tastatur in Programmen gestaltet sich schwierig. Andererseits gibt es '''Software, die diesen Mangel ausgleichen''' (z.B. [[BlueJ]]).
| Caption
* Da Java '''objektorientiert''' ist, in der '''Industrie häufig benutzt''' wird und aktuell weite '''Verbreitung auf Handys''' bekommt, lässt sich sagen, dass Java im Trend ist und für Schüler daher '''motivierend'''.
|  String
* '''Applets''' lassen sich einfach im Internet veröffentlichen, was die Motivation weiter steigert.
|  Beschriftung am oberen Rand
* Vom Anspruch an die Rechner ist Java zwar '''speicherhungrig''' (mögl. mind. 128MB RAM), stellt aber '''keine hohen Erwartungen an den Prozessor''' (Pentium II möglich).
|-
* '''Fazit:''' Die Hürde zum ersten Pieps ist hoch, wird aber dadurch ausgeglichen, dass man eine moderne und vielseitige Sprache im Unterricht hat, mit der man sämtliche Anwendungen schreiben kann.
|  Color
}}
|  TColor
|  Farbe des Fensters
|-
|  Left, Top
|  Integer
|  Koordinaten der linken oberen Ecke auf dem Bildschirm
|-
|  Width, Height
|  Integer
|  Breite und Höhe des Fensters
|-
|  Hint
|  String
|  Hinweis, der angezeigt wird, wenn man mit dem Mauszeiger länger über dem Fenster steht.
|-
|  ShowHint
|  Boolean
|  TRUE: Hinweis wird angezeigt
|-
|}


== Einführung in Java ==


===  Wichtige Ereignisse ===
Auf zum.de findet sich eine Einführung in Java:
* {{zum|http://www.zum.de/Faecher/Inf/RP/Java/java.htm|Einführung in die Programmierung mit Java}} (Claus Schmitt)


Die folgende Übersicht über Java-Seiten im ZUM-Wiki ermöglicht gleichfalls eine Einführung in viele Aspekte der Arbeit mit Java.


{| class ="wikitable toptextcells"
== Übersichten über Java-Seiten ==
! Ereignis
! Tritt ein, wenn ...
|-
|  OnCreate
|  … das Fenster und sein Inhalt gerade entstanden ist.
|-
|  OnClick
|  … man mit der Maus auf den Fensterhintergrund klickt
|-
|  OnMouseDown
|  … wenn man eine der Maustaste irgendwo auf dem Fensterinhalt herunterdrückt. In der zugehörigen Methode kann man auch auf die Koordinaten des Mauszeigers zurückgreifen, was für Spiele sehr wichtig ist.
|-
|  OnMouseUp
|  … wenn man eine der Maustaste irgendwo auf dem Fensterinhalt wieder loslässt
|-
|  OnKeyDown
|  … wenn man eine Taste der Tastatur herunterdrückt
|-
|  OnKeyUp
|  … wenn man eine Taste der Tastatur wieder loslässt
|-
|}


{{Kastendesign|
BORDER = #97BF87|
BACKGROUND = cornflowerblue|
BREITE =100%|
BILD = Java.png|
ÜBERSCHRIFT =Unterseiten|
|INHALT1=


== Geometrische Formen – TShape ==
=== Liste sortiert nach Inhalten ===




=== Wichtige Eigenschaften ===
==== Theorie und Modellierung ====


{| class ="wikitable toptextcells"
* [[Objektorientierte Programmierung]]
! Eigenschaft
* [[Objekt]], [[Klasse (Informatik)]], [[Methode (Informatik)]]
! Datentyp
* [[UML]]
! Bedeutung
|-
|  Brush.Color
|  TColor
|  Farbe der Fläche des Objekts
|-
|  Pen.Color
|  TColor
|  Farbe des Randes des Objekts
|-
|  Left, Top
|  Integer
|  Koordinaten der linken oberen Ecke auf dem Bildschirm
|-
|  Width, Height
|  Integer
|  Breite und Höhe des Fensters
|-
|  Shape
|  TShapeType
|  Form (Rechteck, Ellipse, …)
|-
|  Visible
|  Boolean
|  TRUE: sichtbar; FALSE: unsichtbar
|-
|}


==== Algorithmik ====


===  Wichtige Ereignisse ===
* Eingabe, Ausgabe
** [[Java/Konsolenausgabe]]
** [[Java/Texteingabe]]
** [[Java/Dateihandling]]
** [[Java/Runden]]
* [[Java/Primitive Datentypen]]
** [[Java/Numerische Datentypen]]
** [[Java/String]]
* [[Java/Logische Operatoren]]
* [[Java/Bedingte Ausführung]] - if-else-Abfragen
** [[Java/PQ-Formel]]
** [[Java/Uhr]]
* Wiederholungen
** [[Java/while-Schleife]]
** [[Java/for-Schleife]]
** [[Java/do-while-Schleife]]
* [[Java/Rekursion]]
** [[Java/ggT]]
* [[Java/Zufallszahl]]


==== OOP ====


* [[Java/Objekt-Interaktion und Fußball-WM]]
;Datenstrukturen
* [[Java/Array]]
* [[Java/Queue]]
** [[Java/Einführungsbeispiel Array]]
* [[Java/List]]
** [[Java/List/Liste mit GUI]]
** [[Java/Zahlenliste]]


==== Anwendungen ====


{| class ="wikitable toptextcells"
* [[Java/Netzwerkprogrammierung]]
! Ereignis
! Tritt ein, wenn ...
|-
|  OnMouseDown
|  … die Maus gedrückt wurde, während der Mauszeiger über der Form stand.
|-
|}


==== Grafik und GUI ====


==  Bilder – TImage ==
* [[Java/Applet]]
* [[Java/Turtle-Grafik]]


{| class ="wikitable toptextcells"
==== Beispiele und Projekte ====
! Eigenschaft
! Datentyp
! Bedeutung
|-
|  Picture
|  TPicture
|  Bild, das angezeigt wird
|-
|  Stretch
|  Boolean
|  TRUE: Das Bild wird größenmäßig an die Größe des Objekts im Fenster angepasst.
|-
|  Left, Top
|  Integer
|  Koordinaten der linken oberen Ecke auf dem Bildschirm
|-
|  Width, Height
|  Integer
|  Breite und Höhe des Fensters
|-
|  Visible
|  Boolean
|  TRUE: sichtbar; FALSE: unsichtbar


* [[Java/Onlinebank Einsteigerbeispiel]]
* [[Java/Bahnanzeige]]
* [[Java/Eigene Spiele]]
** [[Java/Roulette]]
** [[Java/TicTacToe]]
** [[Java/Pong]]


|-
==== IDE und Software ====
|}


* [[Java/BlueJ]]  /  [[BlueJ]]
* [[Java/Hamster]]
* [[Java/Software]]
* [[Netbeans]] bzw. Nb-BlueJ-Edition
* [[Eclipse]]
* weitere [[Java-Software]]


==== Tutorials und Hilfen ====


* [[Java/Glossar]]


==  Zeitsteuerung – TTimer ==
|INHALT2=


=== Wichtige Eigenschaften ===
=== Alphabetisches Verzeichnis ===




{| class ="wikitable toptextcells"
Hier werden alle Seiten aufgeführt, deren Namen nach folgendem Prinzip aufgebaut ist: '''Java/Artikelname'''
! Eigenschaft
<subpages
! Datentyp
  parent=Java
! Bedeutung
  order=DESC
|-
  order=lastedit
|  Enabled
  showpath=no
|  Boolean
/>
|  TRUE: Löst in regelmäßigen Abständen ein Ereignis aus.FALSE: Löst kein Ereignis aus.
}}
|-
|  Interval
|  Integer
|  Länge der Zeitabstände (in Millisekunden; 1000ms=1s)
|-
|}


{{Kastendesign|
BORDER = #97BF87|
BACKGROUND = cornflowerblue|
BREITE =100%|
BILD = Web-browser.png|
ÜBERSCHRIFT =Zubehör und Hilfen|
INHALT1=


=== Wichtige Ereignisse ===
===[[IDE]]s===
* [[Java (Software)]]
* [[BlueJ]], dort auch Netbeans BlueJ-Edition
* [http://greenfoot.org/ Greenfoot]
* [[Eclipse]]
* [http://lernen.bildung.hessen.de/informatik/javaeditor/index.htm Java Editor (Hessen)]


===Unterrichtsgänge in Java (extern)===
* [http://informatik.zum.de/pieper/ Java-Reader] von Uli Pieper (alias ugh)
* [http://www.u-helmich.de/inf/ Online Material] von U. Helmich
* [http://www.saar.de/~awa/download.htm Java in der Sek II] von Axel Wagner
* [http://www.gymmelk.ac.at/~nus/informatik/wpf/JAVA/index.php?kat=grund&teil=grund Nussbaumer - JAVA (eine kleine Einführung)] dazu: [http://www.gymmelk.ac.at/~nus/informatik/wpf/JAVA/javahtml/index.html]
*[http://www.zitadelle.juel.nw.schule.de/if/java/java.html Materialien] des Gym. Zitadelle, Jülich
*[http://www.gailer-net.de/tutorials/java/java-toc.html Java lernen interaktiv]
*[http://www.gymmelk.ac.at/nus/informatik/wpf/JAVA/index.php Unterrichtsbeispiele zu JAVA]
*[http://mathsrv.ku-eichstaett.de/MGF/homes/grothmann/java/ Java Vorlesung mit vielen Übungen]
* [http://www2.dgb.ch/users/soe/Informatik/java/index.htm Eine Einführung in die Sprache, das Konzept der OOP und das Umfeld im Internet]  "Der Kurs wird noch immer weiterentwickelt. Sie müssen also neue Versionen mit "Neu laden" holen und auf tote Links gefasst sein. Diese Webseiten sind Begleitmaterial zu Fakultativkursen am Deutschen Gymnasium Biel und damit nicht selbserklärend!"


{| class ="wikitable toptextcells"  
|INHALT2=
! Ereignis
===Bücher===
! Tritt ein, wenn ...
* [http://www.bluej.org/objects-first/ Java lernen mit BlueJ. Eine Einführung in die objektorientierte Programmierung]
|-
* [http://www.golem.de/0612/49477.html Buch zu Java 6 zum kostenlosen Download]
|  OnTimer
===Kurse===
|  … seit dem letzten Ereignis die eingestellte Zeit wieder verstrichen ist und die Eigenschaft „Enabled“ den Wert TRUE hat.
* [[Bild:Wikibooks20.gif]] [[wikipedia:b:Java|Java]] - Ein Wikibook-Kurs im Aufbau
|-
* [http://www.programmierkurs-java.de/ Programmierkurs der Uni Oldenburg] - Den Kurs gibt es in verschiedenen Varianten (Powerpoint- und PDF-Folien, Filme) zusammen mit Übungen und Beispielprogrammen.
|}
===E-Bücher===
* [http://www.javabuch.de/download.html Handbuch der Java-Programmierung] - Auch das neuste Buch des Standardwerkes (Nachfolger von "Go To Java 2") von Guido Kröger kann als gepackte Datei in Form von HTML-Seiten heruntergeladen werden. Dazu gibt es auch Beispieldateien.
* '''Java ist auch eine Insel''' - als [http://www.galileopro.de/openbook/javainsel5/galileocomputing_javainsel5.zip HTML-Version]  bei [http://www.galileocomputing.de/katalog/openbook/ Galileo-Open-Books] herunterladbar.
* '''Java 2''' Buch, das als [http://www.galileocomputing.de/openbook/java2/ HTML-Version] bei [http://www.galileocomputing.de/katalog/openbook/ Galileo-Open-Books] heruntergeladen werden können.
* '''Thinking in Java, 3rd Edition''' - [http://www.linuxguruz.org/ebooks/eckel/TIJ-3rd-edition2.0.zip Download]
===Kurztutorial===
* [http://www.boku.ac.at/javaeinf/ '''Kurztutorial'''] (erlaubte Vervielfältigung nichtkommerziell - passt auf eine Diskette)
* http://www.highscore.de/
===Tipps und Tricks===
* [http://www.bastie.de/java/howto/index.html How to...]
}}


==Hallo Welt in Java==
{{Zitat wpde|Einfache Beispiele von Computerprogrammen, die zum Beispiel zur Demonstration verwendet werden, bestehen häufig nur aus ein paar Zeilen Programmcode, die den Text Hallo, Welt! oder auf Englisch Hello, world! ausgeben. Dieses Programm soll als eines der einfachst möglichen zeigen, was für ein vollständiges Programm (in der betreffenden Programmiersprache) benötigt wird, und einen ersten Einblick in die Syntax geben. Ein solches Programm ist auch geeignet, die erfolgreiche Installation eines Compilers für die entsprechende Programmiersprache zu überprüfen.|Hallo-Welt-Programm|09.10.06}}
<source lang="java">
  public class Hallo
  {
      public static void main(String[] args)
      {
        System.out.println("Hallo Welt!");
      }
  }
</source>


==Java 6.0==
* [http://www.golem.de/0612/49398.html Java 6.0 ist fertig] "Leichterer Zugriff aus Skriptsprachen auf Java Sun hat die Java Standard Edition (SE) 6 für Linux, Solaris und Windows veröffentlicht.", 11.12.2006
* [http://www.golem.de/0612/49477.html Buch zu Java 6 zum kostenlosen Download] - "Zu Java 6 wurde das Buch um die Themen Web-Services, JavaScript-API, Tray, Splash-Screen, RowSorter, File-Erweiterungen, Compiler API, SwingWorker und Console erweitert."


== Siehe auch ==
* [[Programmiersprachen]]
* [[Informatik]]


==  Beschriftungsfelder – TLabel ==


{| class ="wikitable toptextcells"
! Eigenschaft
! Datentyp
! Bedeutung
|-
|  Caption
|  String
|  Beschriftung des Beschriftungsfeldes
|-
|  Color
|  TColor
|  Farbe des Beschriftungsfeldes
|-
|  Left, Top
|  Integer
|  Koordinaten der linken oberen Ecke auf dem Bildschirm
|-
|  Width, Height
|  Integer
|  Breite und Höhe des Feldes
|-
|  Font
|  TFont
|  Schriftart, Schriftschnitt und Schriftgröße
|-
|  Visible
|  Boolean
|  TRUE: sichtbar; FALSE: unsichtbar
|-
|}


 
[[Kategorie:Java| !]]
==  Eingabefelder – TEdit ==
 
===  Wichtige Eigenschaften ===
 
 
{| class ="wikitable toptextcells"
! Eigenschaft
! Datentyp
! Bedeutung
|-
|  Text
|  String
|  Inhalt des Textfeldes
|-
|  Enabled
|  Boolean
|  TRUE: Benutzer darf den Text selbst ändern.
|-
|  Left, Top
|  Integer
|  Koordinaten der linken oberen Ecke auf dem Bildschirm
|-
|  Width, Height
|  Integer
|  Breite und Höhe des Feldes
|-
|  Font
|  TFont
|  Schriftart, Schriftschnitt und Schriftgröße
|-
|  Visible
|  Boolean
|  TRUE: sichtbar; FALSE: unsichtbar
|-
|  Hint
|  String
|  Hinweis, der angezeigt wird, wenn man mit dem Mauszeiger länger über dem Eingabefeld steht.
|-
|  ShowHint
|  Boolean
|  TRUE: Hinweis wird angezeigt
|-
|}
 
 
===  Wichtige Ereignisse ===
 
 
{| class ="wikitable toptextcells"
! Ereignis
! Tritt ein, wenn ...
|-
|  OnChange
|  sobald sich etwas am Inhalt des Fensters ändert. Vorsicht: Wenn die zugehörige Methode selbst wieder etwas am Inhalt des Fensters ändert, kann man in eine Endlosschleife geraten.
|-
|  OnEditingDone
|  … man die Eingabe (z.B. mit der Enter-Taste) abschließt
|-
|}
 
==  Bedienknöpfe – TButton ==
 
[[Image:Bild6.png|middle]](im Reiter „Standard“)
 
===  Wichtige Eigenschaften ===
 
 
{| class ="wikitable toptextcells"
! Eigenschaft
! Datentyp
! Bedeutung
|-
|  Caption
|  String
|  Beschriftung des Knopfes
|-
|  Enabled
|  Boolean
|  TRUE: Benutzer kann Knopf drücken
|-
|  Left, Top
|  Integer
|  Koordinaten der linken oberen Ecke auf dem Bildschirm
|-
|  Width, Height
|  Integer
|  Breite und Höhe des Feldes
|-
|  Font
|  TFont
|  Schriftart, Schriftschnitt und Schriftgröße der Beschriftung
|-
|  Visible
|  Boolean
|  TRUE: sichtbar; FALSE: unsichtbar
|-
|}
 
 
===  Wichtige Ereignisse ===
 
 
{| class ="wikitable toptextcells"
! Ereignis
! Tritt ein, wenn ...
|-
|  OnClick
|  … der Knopf gedrückt wurde.
|-
|}

Version vom 2. Mai 2013, 21:30 Uhr

Vorlage:Kurzinfo Java ist eine objektorientierte, plattformunabhängige Programmiersprache. Java-Programme benötigen üblicherweise zur Ausführung eine spezielle Umgebung, die Java Virtual Machine. Der Vorteil ist, dass nur diese Umgebung an verschiedene Computer und Betriebssysteme angepasst werden braucht. Sobald dies geschehen ist, laufen auf der Plattform alle Java-Programme ohne Anpassungsarbeiten.

Vorlage:Informatik

Vorlage:ZUM-Wiki float

Java als Programmiersprache im Unterricht

Java wird immer häufiger als Programmiersprache im Unterricht verwendet.

  • Entsprechend gibt es zahlreiche Literatur, Fortbildungen und Software zum Thema Java im Unterricht.
  • Java ist kostenlos und plattformunabhängig. Java ist stabil, aufgrund der Vielzahl der Versionen und Rechnerkonstellationen kann es aber zu unvorhergesehenen Problemen kommen.
  • Java ist auf den ersten Blick bedienerunfreundlich. Bereis die Abfrage Tastatur in Programmen gestaltet sich schwierig. Andererseits gibt es Software, die diesen Mangel ausgleichen (z.B. BlueJ).
  • Da Java objektorientiert ist, in der Industrie häufig benutzt wird und aktuell weite Verbreitung auf Handys bekommt, lässt sich sagen, dass Java im Trend ist und für Schüler daher motivierend.
  • Applets lassen sich einfach im Internet veröffentlichen, was die Motivation weiter steigert.
  • Vom Anspruch an die Rechner ist Java zwar speicherhungrig (mögl. mind. 128MB RAM), stellt aber keine hohen Erwartungen an den Prozessor (Pentium II möglich).
  • Fazit: Die Hürde zum ersten Pieps ist hoch, wird aber dadurch ausgeglichen, dass man eine moderne und vielseitige Sprache im Unterricht hat, mit der man sämtliche Anwendungen schreiben kann.

Einführung in Java

Auf zum.de findet sich eine Einführung in Java:

Die folgende Übersicht über Java-Seiten im ZUM-Wiki ermöglicht gleichfalls eine Einführung in viele Aspekte der Arbeit mit Java.

Übersichten über Java-Seiten

Vorlage:Kastendesign

Vorlage:Kastendesign

Hallo Welt in Java

Einfache Beispiele von Computerprogrammen, die zum Beispiel zur Demonstration verwendet werden, bestehen häufig nur aus ein paar Zeilen Programmcode, die den Text Hallo, Welt! oder auf Englisch Hello, world! ausgeben. Dieses Programm soll als eines der einfachst möglichen zeigen, was für ein vollständiges Programm (in der betreffenden Programmiersprache) benötigt wird, und einen ersten Einblick in die Syntax geben. Ein solches Programm ist auch geeignet, die erfolgreiche Installation eines Compilers für die entsprechende Programmiersprache zu überprüfen.

Wikipedia-logo.png Hallo-Welt-Programm, Wikipedia – Die freie Enzyklopädie, 09.10.06 - Der Text ist unter der Lizenz „Creative Commons Attribution/Share Alike“ verfügbar; zusätzliche Bedingungen können anwendbar sein. Siehe die Nutzungsbedingungen für Einzelheiten. In der Wikipedia ist eine Liste der Autoren verfügbar.


   public class Hallo
   {
      public static void main(String[] args)
      {
         System.out.println("Hallo Welt!");
      }
   }

Java 6.0

  • Java 6.0 ist fertig "Leichterer Zugriff aus Skriptsprachen auf Java Sun hat die Java Standard Edition (SE) 6 für Linux, Solaris und Windows veröffentlicht.", 11.12.2006
  • Buch zu Java 6 zum kostenlosen Download - "Zu Java 6 wurde das Buch um die Themen Web-Services, JavaScript-API, Tray, Splash-Screen, RowSorter, File-Erweiterungen, Compiler API, SwingWorker und Console erweitert."

Siehe auch