matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Mathe
  Status Schulmathe
    Status Primarstufe
    Status Mathe Klassen 5-7
    Status Mathe Klassen 8-10
    Status Oberstufenmathe
    Status Mathe-Wettbewerbe
    Status Sonstiges
  Status Hochschulmathe
    Status Uni-Analysis
    Status Uni-Lin. Algebra
    Status Algebra+Zahlentheo.
    Status Diskrete Mathematik
    Status Fachdidaktik
    Status Finanz+Versicherung
    Status Logik+Mengenlehre
    Status Numerik
    Status Uni-Stochastik
    Status Topologie+Geometrie
    Status Uni-Sonstiges
  Status Mathe-Vorkurse
    Status Organisatorisches
    Status Schule
    Status Universität
  Status Mathe-Software
    Status Derive
    Status DynaGeo
    Status FunkyPlot
    Status GeoGebra
    Status LaTeX
    Status Maple
    Status MathCad
    Status Mathematica
    Status Matlab
    Status Maxima
    Status MuPad
    Status Taschenrechner

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Dt. Schulen im Ausland: Mathe-Seiten:Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenJavaJava Programm
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Deutsch • Englisch • Französisch • Latein • Spanisch • Russisch • Griechisch
Forum "Java" - Java Programm
Java Programm < Java < Programmiersprachen < Praxis < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Java"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Java Programm: erläutern+beschreiben
Status: (Frage) beantwortet Status 
Datum: 17:32 Sa 14.01.2006
Autor: saoody

Aufgabe
Erläutern Sie die Funktion, Struktur und die Anwendung des Programms !

Hallo Leute,
also ich habe hier ein Java-Programm, bei dem ich jede Zeile beschreiben muss. Da Programmierung nicht so wirklich meine Sache ist, habe ich damit erhebliche Probleme. Ich habe es versucht, bin mir aber ziemlich unsicher.
Finde das ich die Zeilen nur beschrieben habe, aber nicht die Funktion erläutert habe.

Dann leg ich los:

KlickKlack.java TEIL 1 => so heißt dieses Programm

jetzt fängt das eigentliche Programm an:

1.import java.awt.*;
2.import java.applet.*;
3.import java.awt.event.*;

4.public class KlickKlack extends Applet {

5.   Button klickButton = new Button("KlickKlack");
6.   boolean klick = true;

7.    public void init () {
8.        add (klickButton);
9.        klickButton.addMouseListener (new MyMouseAdapt () );
10.  }

11.   class MyMouseAdapt extends MouseAdapter {
12.         public void mouseClicked )MouseEvent e) {
13.                   Graphics g = getGraphics ();
14.                   if (klick)
15.                          g.setColor (Color.red);
16.                   else
17.                          g.setColor(Color.yellow);
18.                   g.fillOval (0,0,getWidth (), getHeight());
19.                   klick = !klick;
20.           }
21.     }
22. }

1 - 3. Hier sind meine Bibliotheken aufgelistet und über import habe ich Zugriff auf die Klassen Applet und MouseAdapter
4. KlickKlack ist der Name der Applet-Klasse, die in KlickKlack.java gespeichert wird und KlickKlack ist die Unterklasse von Applet
5. Druch die new-Anweisung findetr eine Instanzierung statt bzw. es wird das Objekt (Button) erzeugt
6. irgendein Zustand ist wahr, weiß ich nicht genau was mit boolean auf sich hat
7. Die Klasse KlickKlack überlädt die Methode init, init wir beim Start einmalig ausgeführt
8. Es wird ein Button hinzugefügt (glaube ich)
9. hier bin ich überfordert
10. Diese geschw. Klammer gesagt, dass das Unterprogramm init zuende ist
11. Die Klasse MyMouseAdapt wird von der Oberklasse MouseAdapter geerbt
12. normalerweise steht doch public vor class, aber hier ???
13. graphics steht klar für Grafiken, aber welche Seite den Befehl beschreibt oder welche für die Ausgabe zusändig ist, weiß ich nicht.
14 - 17. Nun kommt ja die if und else Schleife. Die Grafik soll die farbe rot bekommen und beim nächsten Mausklick die Farbe gelb übernehmen
18. hier wird klar das die Grafik ein Kreis darstellen soll, welches eine ovale Form hat un die 2 Nullen sagen aus, dass der Kreis keine Weite und Höhe hat

Hoffe das jemand mir die Sachen etwas verständlicher machen kann.
Bin dankbar für jeden Verbesserungsvorschlag !!!  :-)



        
Bezug
Java Programm: Antwort
Status: (Antwort) fertig Status 
Datum: 10:45 So 15.01.2006
Autor: piet.t

Hallo saood,

hier mal meine Anmerkungen:

>  
> 1 - 3. Hier sind meine Bibliotheken aufgelistet und über
> import habe ich Zugriff auf die Klassen Applet und
> MouseAdapter

[ok] Wäre vielleicht noch schön zu sagen, welche der Klassen aus welchem package kommt. Und wozu braucht man java.awt?

>  4. KlickKlack ist der Name der Applet-Klasse, die in
> KlickKlack.java gespeichert wird und KlickKlack ist die
> Unterklasse von Applet

[ok]

>  5. Druch die new-Anweisung findetr eine Instanzierung
> statt bzw. es wird das Objekt (Button) erzeugt

Vielleicht besser: es wird ein Objekt vom Typ Button erzeugt. Dieses Objekt ist im applet unter dem Namen klickButton ansprechbar.

>  6. irgendein Zustand ist wahr, weiß ich nicht genau was
> mit boolean auf sich hat

[notok]Wir definieren eine Instanzvariable namens klick vom Typ boolean (d.h. mit den Werten true oder false) und weisen ihr den Anfangswert "true" zu.

>  7. Die Klasse KlickKlack überlädt die Methode init, init
> wir beim Start einmalig ausgeführt

[ok]

>  8. Es wird ein Button hinzugefügt (glaube ich)

[ok]Genauer: der vorhin erzeugte Button wird dem applet hinzugefügt

>  9. hier bin ich überfordert

Hier wird dem klickButton mitgeteilt, dass er Maus-Ereignisse an die neu erzeugte Instanz der Klasse MyMouseAdapter melden soll.

>  10. Diese geschw. Klammer gesagt, dass das Unterprogramm
> init zuende ist

[ok] aber besser "Methode" statt "Unterprogramm"

>  11. Die Klasse MyMouseAdapt wird von der Oberklasse
> MouseAdapter geerbt

MyMouseAdapter wird nicht geerbt sondern abgeleitet. Sie erbt dann von dieser Klasse alle Methoden und Attribute (soweit sie nicht überschrieben werden)

>  12. normalerweise steht doch public vor class, aber hier
> ???

Die Klasse MyMouseAdapter ist nicht öffentlich, man kann Sie nur innerhalb von KlickKlack verwenden. Das macht auch Sinn, da diese (innere) Klasse ja auf Komponenten des applet zugreift.
public bezieht sich hier darauf, dass auf die Methode mouseClicked() auch von ausserhalb der Klasse MyMouseAdapter zugegriffen werden kann. (Muss so sein, sie wird ja schließlich vom klickButton aus aufgerufen!)

>  13. graphics steht klar für Grafiken, aber welche Seite
> den Befehl beschreibt oder welche für die Ausgabe zusändig
> ist, weiß ich nicht.

Unter Graphics stelle ich mir immer eine Leinwand vor, auf der ich dann malen kann (muss aber nicht stimmen, ich bin nicht wirklich der grosse awt-Kenner). Graphics-Objekte haben keinen öffentlichen Konstruktor, sondern müssen über die getGraphics-Methode einer awt-Komponente von dieser angefordert werden. Hier holen wir uns die "Leinwand" des applet-Objekts.

>  14 - 17. Nun kommt ja die if und else Schleife. Die Grafik
> soll die farbe rot bekommen und beim nächsten Mausklick die
> Farbe gelb übernehmen

Schleife? Welche Schleife? Da steht doch nur eine Abfrage!
Abhängig davon, ob klick gesetzt ist wird die Grafik rot oder gelb. Weil klick am Anfang true ist setzt der erste Mausklick die Farbe rot, danach wird immer zwischen rot und gelb umgeschalten (siehe auch unter 19).

>  18. hier wird klar das die Grafik ein Kreis darstellen
> soll, welches eine ovale Form hat un die 2 Nullen sagen
> aus, dass der Kreis keine Weite und Höhe hat
>  

[notok] Wir zeichnen ein gefülltes Oval. Die zwei Nullen bezeichnen die Position der oberen linken Ecke (in Bezug auf das applet), Breite und Höhe werden vom applet übernommen (über getWidth und getHeight).

> Hoffe das jemand mir die Sachen etwas verständlicher machen
> kann.
>  Bin dankbar für jeden Verbesserungsvorschlag !!!  :-)
>  
>  

Dann fehlt da noch 19.: klick wird von true auf false gesetzt oder umgekehrt, so dass beim nächsten Klick die andere Farbe erscheint.

Ich hoffe das hilft!

Gruß

piet

Bezug
                
Bezug
Java Programm: Danke
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 13:53 So 15.01.2006
Autor: saoody

Jo, danke dir !!!

Ist auf jedenfall verständlicher geworden ;-)

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Java"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.matheraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]