Ergebnis 1 bis 4 von 4

Thema: [JAVA] Applet Problem

  1. #1
    Member
    Registriert seit
    Oct 2000
    Beiträge
    9
    Renommee
    10

    [JAVA] Applet Problem

    Hallo Leute!

    In der Schule haben wir die Aufgabe bekommen ein Applet zu schreiben, dass bei fünf Mausklicks verschiedene geonetrische Figuren zeichnet und sich danach wieder zurücksetzt damit man dass ganze wieder von vorne durchnudeln kann.

    Das ganze sollen wir auf der Basis dieses Codes lösen:
    Code:
    // Zeichenprogramm für Java 1.0
    // Es kann mit der Maus auf den Bildschirm gemalt werden. Kt, 1.11.02
    import java.applet.*; import java.awt.*;
    public class malen extends Applet
    {
      private int voriges_x =0, voriges_y = 0; // zum Speichern der Bildkoordinaten
      public void init () {setBackground (Color.magenta);} // Hintergrund einfärben
    
      // Die folgende Methode wird aufgerufen, wenn die Maus gedrückt wird.
      public boolean mouseDown (Event eve, int x, int y)
      {
        voriges_x = x; voriges_y = y;         // letzte Klick-Koordinaten merken
        return true;
      }
    
      // Die Methode wird aufgerufen, wenn die Maus mit gedrückter Taste bewegt wird.
      public boolean mouseDrag (Event eventuell, int x, int y)
      {
        Graphics gra = getGraphics();         // Graphics-Objekt bereitstellen
        // Das Objekt muß bereitgestellt werden, weil drawLine dazugehört.
        // getGraphics ist eine Methode aus component
        gra.drawLine (voriges_x,voriges_y,x,y);
        voriges_x = x; voriges_y = y;
        return true;
      }
    
      // Löschen der Zeichenfläche, wenn der Benutzer ein "e" drückt.
      public boolean keyDown (Event e, int key)
      {
        if ((e.id == Event.KEY_PRESS) && (key == 'e')) // == ist "gleich"  && ist "und"
        {
          Graphics g = getGraphics();         // Graphics-Objekt bereitstellen
          g.clearRect(0,0,bounds().width,bounds().height);
          return true;
        }
        else return false;
      }
    }

    Der folgende Code ist die Lösung von mir aber er funktioniert leider nicht! Wenn ich in das Applet klicke passiert rein gar nichts, ich bekomme aber auch keine Fehlermeldung beim compilieren.
    Code:
    import java.applet.*;
    import java.awt.*;
    
    public class Aufgabe extends Applet {
    
    public void init () {
    	setBackground(Color.white);
    }
    
    int anzahl_klicks = 1;
    
    public boolean mouseDown(Event eve, int x, int y) {
    	Graphics gra = getGraphics();
    	switch(anzahl_klicks) {
    		case '1' : 	gra.setColor(Color.red); gra.drawRect(x,y,50,50); anzahl_klicks = anzahl_klicks + 1; break;
    		case '2' : 	gra.setColor(Color.yellow); gra.drawRect(x,y,50,50); anzahl_klicks = anzahl_klicks + 1; break;
    		case '3' : 	gra.setColor(Color.blue); gra.drawRect(x,y,50,50); anzahl_klicks = anzahl_klicks + 1; break;
    		case '4' : 	gra.setColor(Color.green); gra.drawArc(x,y,50,50,0,360); anzahl_klicks = anzahl_klicks + 1; break;
    		case '5' : 	gra.setColor(Color.magenta); gra.drawArc(x,y,50,50,0,360); anzahl_klicks = 0; gra.clearRect(0,0,bounds().width,bounds().height); break;
    
    	}
    return true;
    }
    	
    
    }
    Wie sicherlich vielen auffallen wird ist diese Art Mouse Events einzubinden veraltet aber unser Lehrer möchte halt das es überall kompatibel ist! :-)

    Also wenn einer von euch weiß wo bei mir der Wurm steckt...für Hilfe bin ich sehr dankbar!

    cya, nuge

    //edit DarkTOm: Code-tags eingefügt. Bitte in Zukunft benutzen
    Geändert von DarkTom (11.11.2002 um 14:32 Uhr)
    Setze dich zu meiner Rechten, auf das ich deine Feinde zum Schemel deiner Füße mache!

  2. #2
    Registered User
    NewYearsChallenge Sieger 2010

    Registriert seit
    Oct 2002
    Beiträge
    729
    Renommee
    444
    Also mir ist diese Art von Eventhandling komplett neu. Ich habe sowas noch nicht gesehen. Ich weiß, dass enableEvents() und dann processMouseEvent() eine veraltete Methode ist, um Events abzufangen, aber ich komme mit dinem Handling nicht so ganz klar. ich habs bei mir in nem Frame probiert, und dort ist es auch nicht gelaufen.
    Bist du sicher, dass deine Codevorlage (Basis) wirklich mal gelaufen ist? Wenn ja im selben Browser, den du verwendest?
    destructor

  3. #3
    Member
    Registriert seit
    Oct 2000
    Beiträge
    9
    Renommee
    10
    Ja! Das funzt auch! Habs inzwischen gelöst! Hab beim switch immer case '1' geschrieben, muss aber case 1 heißen wegen int!

    egal! Aber der Code funzt!
    Das ganze fertig sieht dann so aus:

    Code:
    import java.applet.*;
    import java.awt.*;
    
    public class Aufgabe extends Applet {
    
    public void init () {
    	setBackground(Color.white);
    }
    
    private int anzahl_klicks = 1;
    
    public boolean mouseDown(Event eve, int x, int y) {
    	Graphics gra = getGraphics();
    	
    switch(anzahl_klicks) {
      case 1 :  gra.setColor(Color.red); gra.drawRect(x,y,50,50); anzahl_klicks = anzahl_klicks + 1; break;
      case 2 :  gra.setColor(Color.yellow); gra.drawRect(x,y,50,50); anzahl_klicks = anzahl_klicks + 1; break;
      case 3 :  gra.setColor(Color.blue); gra.drawRect(x,y,50,50); anzahl_klicks = anzahl_klicks + 1; break;
      case 4 :  gra.setColor(Color.green); gra.drawArc(x,y,50,50,0,360); anzahl_klicks = anzahl_klicks + 1; break;
      case 5 :  gra.setColor(Color.magenta); gra.drawArc(x,y,50,50,0,360); anzahl_klicks = anzahl_klicks + 1;  break;
      case 6 :  gra.clearRect(0,0,bounds().width,bounds().height); anzahl_klicks = 1;
     }
    
    	
    return true;
    }
    	
    
    
    }
    //edit DarkTom: Auch hier nachträglich code-tags eingefügt. ..
    Geändert von DarkTom (12.11.2002 um 17:47 Uhr)
    Setze dich zu meiner Rechten, auf das ich deine Feinde zum Schemel deiner Füße mache!

  4. #4
    Registered User
    NewYearsChallenge Sieger 2010

    Registriert seit
    Oct 2002
    Beiträge
    729
    Renommee
    444
    Auf das habe ich gar nicht mehr geachtet. Ich bin davon ausgegangen, dass dieser Codeteil funzt und habe mich eigentlich nur mit den Events beschäftigt.
    Außerdem verwende ich switch ohnehin fast nie, desshalb wärs mir wahrscheinlich nichtmal aufgefallen.
    destructor

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. Java Applet Rechte
    Von rlKing im Forum Java
    Antworten: 11
    Letzter Beitrag: 25.11.2004, 22:39
  2. Menubar bei Java(Applet!)
    Von native im Forum Java
    Antworten: 5
    Letzter Beitrag: 26.10.2001, 22:56
  3. [Java Applet] Html problem
    Von EMSI im Forum Web Development
    Antworten: 2
    Letzter Beitrag: 28.09.2001, 14:44
  4. Java applet passwortabfrage
    Von Poolboy im Forum Java
    Antworten: 11
    Letzter Beitrag: 25.06.2001, 22:26
  5. java-applet für den irc
    Von pyrorl im Forum Java
    Antworten: 7
    Letzter Beitrag: 08.02.2001, 18:11

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •