Erste Schritte Java - Applet - Rechteck ständig versetzen

shareking

Mitglied
Hallo Zusammen, ich bin gerade dabei ein Java - Applet zu erstellen und zwar mit einem Rechteck. Die Erstellung klappt soweit ganz gut, nun möchte ich das sich das Rechteck in Position X & Y um z.B. 2px verändert. und das ganze solange bis ich 50 Rechtecke erstellt habe.

Ich weiß das ich das z.B. in einer FOR - Schleife lösen könnte nur weiß ich nicht genau wie ich sowas umsetzen kann oder soll und wieso es dann ausgerechnet an der Stelle stehen muss.

RechteckApplet.java
Java:
public class RechteckApplet extends java.applet.Applet {

    private Rechteck rechteck1;

   
    public void init() {
        rechteck1 = new Rechteck(10, 10, 100, 150);

    }
   
    public void paint(java.awt.Graphics g) {
        rechteck1.zeichne(g);
        rechteck1.bewege(4,4);
        rechteck1.zeichne(g);
        rechteck1.zeichne(g);
        rechteck1.bewege(4,4);
        rechteck1.zeichne(g);
        rechteck1.bewege(4,4);
        rechteck1.zeichne(g);
        rechteck1.bewege(4,4);
        rechteck1.zeichne(g);
        rechteck1.zeichne(g);
        rechteck1.bewege(4,4);
        rechteck1.zeichne(g);
        rechteck1.bewege(4,4);
        rechteck1.zeichne(g);
        rechteck1.bewege(4,4);
        rechteck1.zeichne(g);
        rechteck1.zeichne(g);
        rechteck1.bewege(4,4);
        rechteck1.zeichne(g);
        rechteck1.bewege(4,4);
       
    }
}

Rechteck.java

Java:
public class Rechteck extends Object {
   
    protected int x;
    protected int y;
   
    public int getX() {
        return x;
    }
   
    public void setX(int x) {
        this.x = x;
    }
   
    public int getY() {
        return y;
    }
   
    public void setY(int y) {
        this.y = y;
    }

   
   
    private int hoehe;
    private int breite;
   
    public Rechteck(int x, int y, int hoehe, int breite) {
        this.x = x;
        this.y = y;
        this.hoehe = hoehe;
        this.breite = breite;
    }
   
    public Rechteck() {
        this(10, 10, 60, 90);
    }
   
    public int getHoehe() {
        return hoehe;
    }
   
    public void setHoehe(int hoehe) {
        this.hoehe = hoehe;
    }
   
    public int getBreite() {
        return breite;
    }
   
    public void setBreite(int breite) {
        this.breite = breite;
    }
   
    public double getUmfang() {
        return 2 * hoehe + 2 * breite;
    }
   
    public double getFlaeche() {
        return hoehe * breite;
    }
   
    public void zeichne(java.awt.Graphics g) {
        g.drawRect(x, y, breite, hoehe);
    }
   
    public void skaliere(int delta) {
        x += delta;
        y += delta;
    }
   
        public void bewege(int deltaX, int deltaY) {
        x += deltaX;
        y += deltaY;
    }
}

Im ersten Code (RechteckApplet.java) habe ich in der Graphics immer wieder das Viereck versetzt was irgendwie zur Lösung führt aber unsauber geschrieben aussieht. ich würde es lieber per Schleife versetzen lassen. Nur stehe ich total auf dem Schlauch wie das realisiert werden muss. :( Ich hoffe ihr könnt mir erklären wo so eine For schleife reinmüsste und wieso genau da.
 

Schmetterhand

Aktives Mitglied
Du brauchst eine Schleife, welche Dir mehrmals (50 mal in Deinem Beispiel) das Rechteck bewegt und anschließend zeichnet.
Die einzige Funktion, welche sich bei Dir für diese Schleife anbietet, wäre bei Dir die "paint()"-Funktion.
Ich würde mir eine Liste für die Rechtecken anlegen, dann kann man sie an anderer Stelle auch noch weiterverwenden, falls Du z.B. noch diverse Operationen damit durchführen willst (das Zeichnen und die Logik aufteilen meine ich).

Gruß,
Schmetterhand
 

shareking

Mitglied
Guten Morgen, so habe ich mir das auch gedacht, jedoch weiß ich nicht wie das ganze Umgesetzt werden muss /soll. und wo ich den Code anpassen soll?! :/
 

Viktim

Bekanntes Mitglied
Hier zum Beispiel könntest du eine benutzen ;)

rechteck1.zeichne(g);
rechteck1.bewege(4,4);
rechteck1.zeichne(g);
rechteck1.zeichne(g);
rechteck1.bewege(4,4);
rechteck1.zeichne(g);
rechteck1.bewege(4,4);
rechteck1.zeichne(g);
rechteck1.bewege(4,4);
rechteck1.zeichne(g);
rechteck1.zeichne(g);
rechteck1.bewege(4,4);
rechteck1.zeichne(g);
rechteck1.bewege(4,4);
rechteck1.zeichne(g);
rechteck1.bewege(4,4);
rechteck1.zeichne(g);
rechteck1.zeichne(g);
rechteck1.bewege(4,4);
rechteck1.zeichne(g);
rechteck1.bewege(4,4);

würde dann so aussehen:
Java:
    for (int i = 0; i < 50; i++) {
      rechteck1.zeichne(g);
      rechteck1.bewege(4,4);
      rechteck1.zeichne(g);
    }
also wenn du das ganze 50 mal machen willst :D
wenn nicht, dann must du die 50 anpassen...

Weißt du denn, wie eine For-Schleife funktioniert?
 

shareking

Mitglied
Aber ich müsste doch irgendwo im Code das "int i" definieren oder?

Würde das hier einfügen?!

Java:
public class RechteckApplet extends java.applet.Applet {

     private Rechteck rechteck1;

   
     public void init() {
         rechteck1 = new Rechteck(10, 10, 100, 150);

     }
   
     public void paint(java.awt.Graphics g) {

  for (int i = 0; i < 50; i++) {
       rechteck1.zeichne(g);
       rechteck1.bewege(4,4);
       rechteck1.zeichne(g);
     }
       
     }
}

Wäre das denn so richtig? Aber muss das int i nicht irgendwo in meine "bewege Methode " rein?
 

Viktim

Bekanntes Mitglied
Ich weiß ehrlich gesagt noch nicht so ganz was du machen willlst :D
Aber so wie deine Bewegen-Methode aussieht, müsstest du durch die 4,4 das ganz auch schräg nach oben, oder unten (Weiß nicht wie das bei Applets ist) bewegen können. Wie viel das sein soll musst du selber sagen :D
 

shareking

Mitglied
Ja danke für deine Hilfe so wollte ich das auch das es zu einem rechteckrohr wird. Ich habe irgendwie gedacht das dieses int i irgendwo im Programm noch erwähnt werden muss deshalb hatte ich meine Schwierigkeiten:/ ... Eine Frage habe ich da noch. Wieso verschwindet das Rohr wenn ich das Fenster des Applets vergrößer oder verkleinern?
 

Viktim

Bekanntes Mitglied
Weil du das ganze nur verschiebst, du zeichnest die Rechtecke nicht neu :D

Correct müsste das ganze also so aussehen
Java:
for (int i = 0; i < 50; i++) {
      Rechteck rechteck = new Rechteck(i * 4, i * 4, 100, 150);
      rechteck.zeichne(g);
}
 

shareking

Mitglied
Okay, aber ich habe ja eigentlich extra die Rechteck.bewege Methode dafür erstellt, damit ich sie dort auch einbinden kann. Erstellt er mit deinem neuen code jedes mal ein neuen kreis oder nur einmal und verschiebt es dann so wie es bei meinem code bereits der fall war?
 

shareking

Mitglied
Ja meint ich doch :D aber benötige ich das denn das er jedesmal ein neues Rechteck erstellt? es reicht doch auch einfach die normale Schleife versetzen zu lassen oder? Was ist denn Programmiertechnisch "richtiger" oder muss man es immer auf den Verwendungszweck beziehen?
 

Viktim

Bekanntes Mitglied
Ja, theoretisch reicht es, aber eigentlich ist das Rechteck dann ja nur an der Stelle, wo du es als letztes hingeschoben hast.
Und wollen willst du ja überall unterwegs auch rechtecke oder?
 

shareking

Mitglied
Ganz genau, eigentlich soll jedes mal ein neues Rechteck erstellt werden. Deshalb ist die zweite Variante von dir "richtiger" korrekt?Und dann dürfte das Applet doch auch beim Vergrößern was anzeigen oder? Oder muss ich hierfür noch was zusätzliches in den Code schreiben?!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Java-Applet zur Mittelwertberechnung Java Basics - Anfänger-Themen 3
D Java Applet wird nicht im Browser angezeigt Java Basics - Anfänger-Themen 6
S Erste Schritte Java Applet lässt sich im Browser nicht öffnen Java Basics - Anfänger-Themen 9
K JDK installieren displays java applet für MAC Java Basics - Anfänger-Themen 10
M Erste Schritte Java Applet - HTML Seiten auslesen und in Access Datenbank schreiben? Java Basics - Anfänger-Themen 15
C Java-Applet Fehler "NoClassDefFoundError"? Java Basics - Anfänger-Themen 1
C Java Applet Fragen: Serialisierung, Excel import Java Basics - Anfänger-Themen 2
J Punkte im Java-Applet verbinden Java Basics - Anfänger-Themen 4
M Java-Applet: Bild einbinden (getImage) Java Basics - Anfänger-Themen 0
H 27 Kreise Zeichnen Java Applet Java Basics - Anfänger-Themen 2
G Java Applet aus Eclipse heraus testen? Java Basics - Anfänger-Themen 6
R Java Applet mit Mausklick ansprechen Java Basics - Anfänger-Themen 3
C Java Applet in html. Pong - old school Spiel Java Basics - Anfänger-Themen 10
X Applet Fehler: java.lang.reflect.InvocationTargetException Java Basics - Anfänger-Themen 45
W Probleme mit Java Applet Java Basics - Anfänger-Themen 5
E Schach in Java-Applet <No main classes found> Java Basics - Anfänger-Themen 5
P Problem- Java Applet wird nicht ausgeführt Java Basics - Anfänger-Themen 9
B Applet - Laden eines Java-Fensters bricht ab Java Basics - Anfänger-Themen 6
K Befehl per Shell an Java-Applet JAR übergeben Java Basics - Anfänger-Themen 16
I Java Applet Java Basics - Anfänger-Themen 8
D Java Applet Dateien auf Server auslesen? Java Basics - Anfänger-Themen 8
L Referenced Libraries korrekt in Java Applet einbinden.. Java Basics - Anfänger-Themen 2
KBJ Java Applet Gästebuch Java Basics - Anfänger-Themen 12
T Java Applet braucht mehrere Minuten zu Start Java Basics - Anfänger-Themen 5
C Java Applet Probleme Java Basics - Anfänger-Themen 4
S Probleme mit Java 3D Tutorial (Applet) Java Basics - Anfänger-Themen 7
T Erste Schritte Java Applet wird nur geladen Java Basics - Anfänger-Themen 3
F Ich kenn mich nicht mehr aus - 'java.lang.NoSuchMethodError: main' in Applet? Java Basics - Anfänger-Themen 2
O Java applet im Internet Java Basics - Anfänger-Themen 6
B Suche kleines Java-Applet Java Basics - Anfänger-Themen 6
D Java Applet in einer .jar datei Java Basics - Anfänger-Themen 2
A Java Datei in Applet umwandeln Java Basics - Anfänger-Themen 4
B Mit Eclipse(java) ein Java Applet im Browser steuern Java Basics - Anfänger-Themen 4
B erstes Java-Applet Java Basics - Anfänger-Themen 7
R Java-Applet ausführbar wie in Konsole Java Basics - Anfänger-Themen 23
N Normales Java Programm in Applet umwandeln Java Basics - Anfänger-Themen 17
M lokale exe-Datei über Java-Applet starten Java Basics - Anfänger-Themen 4
K Java Applet friert Browser ein Java Basics - Anfänger-Themen 12
M Java Applet: USB Gerät benutzbar? Java Basics - Anfänger-Themen 16
B Java Applet : Mails über pop3 (?) Java Basics - Anfänger-Themen 2
D Java-Applet in HTML einbinden Java Basics - Anfänger-Themen 9
R java applet zum zeichen zählen Java Basics - Anfänger-Themen 5
J Java Applet XPLUG.JAR / XPLUG.CLASS Java Basics - Anfänger-Themen 4
J IP CAM JAVA Applet portieren Java Basics - Anfänger-Themen 3
S Java Applet - Verbindung zum Eigenen Server Java Basics - Anfänger-Themen 2
JeromeM90 Mein Java Applet zeitverzögern ? Java Basics - Anfänger-Themen 2
D Java Applet startet im Browser nicht Java Basics - Anfänger-Themen 9
S Eclipse Java Applet größe ändern aber wie? Java Basics - Anfänger-Themen 5
F PHP Skript mit Java Applet aufrufen Java Basics - Anfänger-Themen 2
U Daten aus Intranet mit Java-Applet auslesen Java Basics - Anfänger-Themen 10
J Java Applikation aus Applet heraus starten Java Basics - Anfänger-Themen 4
J Zusätzliche jar dateien in Java APplet (hsqldb.jar) Java Basics - Anfänger-Themen 8
C Java-Applet Versuch Java Basics - Anfänger-Themen 12
A java applet Java Basics - Anfänger-Themen 2
G SQL + JAVA + APPLET ? Java Basics - Anfänger-Themen 16
D Java Applet ohne ActiveX im IE ? Java Basics - Anfänger-Themen 15
M Java Applet bild einfügen Java Basics - Anfänger-Themen 6
M java applet für für folgende onlineapplikation sinvoll? Java Basics - Anfänger-Themen 3
B Jar file java applet Java Basics - Anfänger-Themen 12
G Java Applet und Java Application Java Basics - Anfänger-Themen 2
K Inhalte aus einem Java-Applet-Fenster auslesen Java Basics - Anfänger-Themen 2
E Java Applet Seiten wechel frage Java Basics - Anfänger-Themen 15
K Java Programm -> Java Applet. Wie? Java Basics - Anfänger-Themen 2
D java applet - acces denied Java Basics - Anfänger-Themen 6
A Kommunikation Java-Anwendung <-> Java-Applet Java Basics - Anfänger-Themen 24
C Unterschied zwischen, Applet, Java und JavaScript Java Basics - Anfänger-Themen 3
P Java-Applet, Kreis zeichnen Java Basics - Anfänger-Themen 4
J JAVA-Applet Socketzugriff auf anderen Server Java Basics - Anfänger-Themen 3
X Java Applet offline darstellen Java Basics - Anfänger-Themen 8
B Java Applet in Browser Java Basics - Anfänger-Themen 2
L Java Applet/Script wird nicht angezeigt. Java Basics - Anfänger-Themen 3
T Probleme mit einem Java-Applet Java Basics - Anfänger-Themen 17
A java applet mit mehreren dateien Java Basics - Anfänger-Themen 2
I Hilfe beim Java-Applet Beispiel Java Basics - Anfänger-Themen 27
D flash object mit JS definieren.auch für Java Applet? Java Basics - Anfänger-Themen 13
S Problem bei Java Applet (Applet verändert sich nicht) Java Basics - Anfänger-Themen 2
X WWW-link innerhalb java applet einbinden Java Basics - Anfänger-Themen 5
I [Java Applet] - Realisierung Webprojekt Java Basics - Anfänger-Themen 5
B webseite (java applet enthalten) offline ansehen Java Basics - Anfänger-Themen 7
L Java Programm in Applet umwandeln Java Basics - Anfänger-Themen 13
I Java Applet mit Klassen Java Basics - Anfänger-Themen 5
P Wie konvertiert man ein JAVA-Programm (jar) in ein Applet? Java Basics - Anfänger-Themen 4
L Java applet und andere Klassen unauffindbar? Java Basics - Anfänger-Themen 2
G Kommunikation zwischen Applet und Java-Anwendung über TCP/IP Java Basics - Anfänger-Themen 3
G x-,y-position java-applet Java Basics - Anfänger-Themen 2
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
onlyxlia Schlüsselworte Was meint man mit "einen Typ" in Java erstellen? Java Basics - Anfänger-Themen 2
O Java Kara geschweifte Klammern Java Basics - Anfänger-Themen 2
richis-fragen Mausrad logitech kann links und rechts klick wie in java abragen. Java Basics - Anfänger-Themen 15
XWing Java Klssenproblem Java Basics - Anfänger-Themen 4
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
G Java 8 - Support-Ende Java Basics - Anfänger-Themen 7
T Java Weihnachtsbaum + Rahmen Java Basics - Anfänger-Themen 1
N Will mit Java anfangen Java Basics - Anfänger-Themen 13
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
M Java Iterator Verständnisfrage Java Basics - Anfänger-Themen 6
M Java Mail Programm Java Basics - Anfänger-Themen 4
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37

Ähnliche Java Themen

Neue Themen


Oben