Java Problem bei Grafik und OoP

Status
Nicht offen für weitere Antworten.
N

nassi

Gast
Hi,

habe ein Problem bei Java, könnt ihr mir kurz helfen, wenn ihr Zeit habt?

Es geht um folgendes:
Folgende Aufgabenstellung versuch ich zu lösen:
Es geht darum, dass man einen Hintergrund hat und darauf sollen bewegliche und nicht bewegliche Objekte zu sehen sein. Auto, Flugzeug, Ufo beweglich und Haus, Bäume nicht beweglich.
Vorgegeben ist eine Struktur:

class abstract erzeugeBildKlasse



class abstract festeObjekte extends erzeugeBildKlasse

class abstract bewegbareObjekte extends erzeugeBildKlasse



class abstract linearBewegbareObjekte extends bewegbareObjekte

class abstract bliebigBewegbareObjekte extends bewegbareObjekte



class auto extends linearBewegbareObjekte

class ufo extends bliebigBewegbareObjekte



class haus extends festeObjekte

class baum extends festeObjekte



So, ich habe angefangen zu schreiben und habe die Struktur erstmal außer acht gelassen. Ich habe eine Klasse: class Frame extends JFrame implements Runnable

Ich habe einen Konstruktor, der ein JFrame erzeugt.

Dann habe ich eine Methode startAnimation(); die in dem Konstruktor aufgerufen wird. In dieser Emthode wird lediglich ein Thread gestartet.

Dann gibt es natürlich die run(); die vom Thread aufgerufen wird, die die Bilddateien in einen Container(Mediatracker) packt und in einer Endlosschleife die Bewegung des Ufos und eines Autos ausführt.

Desweiteren wird in run() die Methode repaint aufgerufen, die zuerst die Methode update (Doppel Pufferung) startet und dann die Methode paint();



Letztlich nur noch die main() methode, die einfach nur ein Frame Objekt erzeugt.



Soweit funktioniert alles wunderbar, alles bewegt sich, wie es soll, es ist Flimmerfrei usw.!!



Jetzt das Problem:

Wenn ich das ganze nach der oben angegeben Struktur mache, und ein Ufo Objekt erzeuge, dann läuft das eine Ufo-Objekt ja auch, aber wenn ich nun ein zweites Ufo-Objekt oder ein Auto-Objekt einfügen (erzeugen) will, dann startet er ja 3 Frames... und fügt das ganze nicht in ein Frame... Das liegt ja daran, dass der super() Konstruktor jeweils aufgerufen wird und der startet ein neues Frame...



Ich habe echt schon viel ausprobiert, aber ich komm nicht drauf, wie ich das ganze ordnen soll, damit ich durch erzeugen der Ufo, Auto usw. Objekte alle in ein Fenster packe...

Das Problem istja auch, dass nur die Untersten Klassen, also Ufo, Auto usw., nicht abstract sind nur diese erzeugt werden können...



Bitte bitte um Hilfe!!!

Wenn ihr mehr Informationen, wie Quelltext und Bilder braucht, dann schick ich die gerne!!



Mfg

Chris
 
K

klom

Gast
Wie es scheint, brauchst Du einfach nur eine Klasse, welche die verschiedenen Animationen verwaltet.
Die Lösung könnte hier ein Array oder eine ArrayList sein, zu der du die verschiedenen Objekte hinzufügst und dann nacheinander darstellen lässt.
 

bambi

Bekanntes Mitglied
Ja, Du brauchst auf jeden Fall noch eine Klasse, die Deine anderen Objekte verwaltet und das Frame erzeugt und so...
Das hattest Du doch auch schon so implementiert...
So, ich habe angefangen zu schreiben und habe die Struktur erstmal außer acht gelassen. Ich habe eine Klasse:
class Frame extends JFrame implements Runnable
Ich habe einen Konstruktor, der ein JFrame erzeugt.
Dann habe ich eine Methode startAnimation(); die in dem Konstruktor aufgerufen wird. In dieser Emthode wird
lediglich ein Thread gestartet.
Dann gibt es natürlich die run(); die vom Thread aufgerufen wird, die die Bilddateien in einen Container(Mediatracker)
packt und in einer Endlosschleife die Bewegung des Ufos und eines Autos ausführt.
Desweiteren wird in run() die Methode repaint aufgerufen, die zuerst die Methode update (Doppel Pufferung) startet
und dann die Methode paint();
Letztlich nur noch die main() methode, die einfach nur ein Frame Objekt erzeugt.
Die Klasse erzeugt dann Dein Frame und verwendet die Objekte, die vorgegeben wurden. So wuere ich es jedenfalls machen...
 
N

nassi

Gast
Also, wenn ich das richtig verstanden habe, soll ich einfach eine weitere Klasse unabhängig von der vorgegebenen Klassenstruktur erzeugen, die auch die mainMethode enthalten kann (wenn wir schonmal dabei sind). Der Konstruktor dieser Klasse soll ein Frame erzeugen. Dann lass ich über eine Methode ein Array von Objekten übergeben, die dann in dem EINEN Thread aufgerufen werden und vorher natürlich in die Grafik eingefügt werden. Ich schreibe EINEN groß, da ich auch schon auf die Idee gekommen bin mehere Threads zu benutzen, wobei ich noch nicht ganz versteh, wie das gehen kann. Wenn ich meine Threads direkt in den untersten Klassen habe, also in Ufo, Auto usw., dann müsste ich ja in jedem dieser Objekte eine run() Methode haben, oder? und dann eben abgleichen mit synchronized?
Das ganze ist aber laut Aufgabestellung nicht erlaubt, glaub ich:

Hier ist mal der Link zu der Aufgabenstellung: http://www.in.tu-clausthal.de/~fstamm/propra0405/aufgabenzettel.pdf
Aufgabe 1!!

Die Aufgabe stammt aus einem Programmierpraktikum vom letzten Semester. Ich möchte dieses Semster das ProPra machen, und bereite mich gerade darauf vor.

In der Aufgabenstellung steht, dass die oberste Klasse, von der alle anderen abgeleitet sind, soll eine paint() Methode enthalten. Das kann sie aber doch nur, wenn sie von JFrame abgeleitet ist, ansonsten würde das nicht viel Sinn machen. Aber da komm ich wieder zu meinem Problem, dass wenn ich ein Ufo-Objekt und ein Auto-Objekt erstelle, ich schon wieder zwei versch. Frame habe.
 

Bert Brenner

Bekanntes Mitglied
Da hast du was falsch verstanden, es ist nicht so das nur JFrame eine paint() Methode anbietet. Schau dir z.b. mal Component an.

Aber ob du deine "oberste" Klasse davon ableiten willst ist deine Entscheidung, du musst halt gucken was sinnvoll erscheint. JFrame ist wahrscheinlich schlecht, da ja nicht jedes Object ein Fenster werden soll.
 
N

nassi

Gast
nomma hi,

ja, daran hab ich auch mal gedacht. Also die Methode paint einfach nur zu erwähnen. eben abstract...

aber was sol ich dann im weiteren verlauf in meine paint() methode schreiben?


naja auf jeden fall danke!!!
 

Bert Brenner

Bekanntes Mitglied
Nun, vielleicht ne Methode in der art?

public abstract void paint(Graphics g);

So kannst du ein Graphicsobjekt übergeben auf dem gezeichnet werden soll.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
josfe1234 JAVA FX problem Java Basics - Anfänger-Themen 3
J JAVA-Problem blockiert MEDIATHEKVIEW Java Basics - Anfänger-Themen 13
Splayfer Java Array Problem... Java Basics - Anfänger-Themen 2
S Compiler-Fehler Exception in thread "main" java.lang.Error: Unresolved compilation problem: Java Basics - Anfänger-Themen 6
C Java Methoden "Parameter" Problem Java Basics - Anfänger-Themen 16
K Java Problem mit Übergabe von argumenten Java Basics - Anfänger-Themen 3
J "travelling salesman problem" mit Java Editor Java Basics - Anfänger-Themen 17
C Two-Center Problem in Java Java Basics - Anfänger-Themen 0
P Problem bei Java-Aufgabe Java Basics - Anfänger-Themen 12
L Java reset button Problem Java Basics - Anfänger-Themen 3
L Java reset button Problem Java Basics - Anfänger-Themen 9
L Problem bei Java-ActionListener Java Basics - Anfänger-Themen 4
Amelie Java Problem Java Basics - Anfänger-Themen 2
T eclipse mit java 9 Problem? Java Basics - Anfänger-Themen 5
B problem mit java Java Basics - Anfänger-Themen 15
Z Problem mit "Random" in Java Java Basics - Anfänger-Themen 12
J Verständnis Problem Java-Listener. Java Basics - Anfänger-Themen 59
A Problem eines Anfängers bei Java Java Basics - Anfänger-Themen 6
O Compiler-Fehler Ein weiteres Java Problem Java Basics - Anfänger-Themen 3
L Compiler-Fehler Problem beim Programmieren eines Kalenders (java.lang.ArrayIndexOutOfBoundsException) Java Basics - Anfänger-Themen 2
H Interface Problem mit Java Editor Java Basics - Anfänger-Themen 15
J Problem mit java Dos-Applikation Java Basics - Anfänger-Themen 3
M Problem/Unsicherheit bei Java-Aufgaben Java Basics - Anfänger-Themen 11
G Problem: Java Projekt als ausführbare Jar Exportieren (Eclipse) Java Basics - Anfänger-Themen 10
K Java Projekt als ausführbare Jar Exportieren (Eclipse) Problem Java Basics - Anfänger-Themen 24
D Erste Schritte Problem mit dem Java-Editor Eclipse [Frage] Java Basics - Anfänger-Themen 13
P Tag der Zeitumstellung Sommer->Winterzeit (Java Calendar) Problem Java Basics - Anfänger-Themen 5
T Problem mit Eclipse? Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 4
J Java Daten von Konsole einlesen (Spezielles Problem) Java Basics - Anfänger-Themen 6
R Problem mit Java-Chat Java Basics - Anfänger-Themen 2
KranzKrone Erste Schritte Java MVC Problem Java Basics - Anfänger-Themen 3
T Problem mit java-editor + Scanner Java Basics - Anfänger-Themen 9
C JDK installieren Habe ein Problem bei Java install Java Basics - Anfänger-Themen 4
B JAVA Package Problem Java Basics - Anfänger-Themen 8
D Java Date/Calendar Problem Java Basics - Anfänger-Themen 4
V Java Chat Programm Problem mit IP Addresse Java Basics - Anfänger-Themen 7
J Habe problem mit Java Java Basics - Anfänger-Themen 2
B Problem mit Dr. Java Java Basics - Anfänger-Themen 15
T Problem bei BeatBox aus Java-Von Kopf bis Fuß Java Basics - Anfänger-Themen 3
P Problem- Java Applet wird nicht ausgeführt Java Basics - Anfänger-Themen 9
H JDK installieren Mac Problem mit Java SE 1.7 Java Basics - Anfänger-Themen 5
I Java von Kopf bis Fuß: Ratespiel-Problem Java Basics - Anfänger-Themen 20
P Problem :Java-Dateien in einem Ordner ablegen Java Basics - Anfänger-Themen 10
M Java String " einfügen Problem Java Basics - Anfänger-Themen 2
G Java Dezimal Zahlen Internazialisation Problem Java Basics - Anfänger-Themen 7
I Problem mit Java Text Area Java Basics - Anfänger-Themen 14
S Problem mit java.awt Java Basics - Anfänger-Themen 3
S java versionen problem Java Basics - Anfänger-Themen 20
Z Problem mit Tutorial - Finde Kon.java nicht Java Basics - Anfänger-Themen 11
B Problem mit Java XML Java Basics - Anfänger-Themen 6
B Problem mit XML und Java Java Basics - Anfänger-Themen 2
F Methoden Java Freihand Problem Java Basics - Anfänger-Themen 4
turmaline Java Virtual Machine Launcher Problem Java Basics - Anfänger-Themen 1
J Java Installations/Deinstallations Problem. Java Basics - Anfänger-Themen 5
D Problem mit java.io.* Java Basics - Anfänger-Themen 6
M Problem bei einer Java-Aufgabe (Fakultäten) Java Basics - Anfänger-Themen 5
H Problem beim Anfang von Java (Java Editor) Java Basics - Anfänger-Themen 2
D Problem mit Java für dummies Java Basics - Anfänger-Themen 2
K Java Array Problem Java Basics - Anfänger-Themen 3
M java.lang.NumberFormatException-Problem Java Basics - Anfänger-Themen 6
S Java problem, bitte um hilfe! Java Basics - Anfänger-Themen 9
J Problem mit Ausführen von Java-Dateien Java Basics - Anfänger-Themen 5
A Problem bei der Division mit Java Java Basics - Anfänger-Themen 4
E Datentypen ein java problem rekursiv loesen Java Basics - Anfänger-Themen 2
S Java Verständnis Problem Methoden etc. Java Basics - Anfänger-Themen 22
E Java hashCode equals Problem Java Basics - Anfänger-Themen 2
D Problem bei Java - Aufgabe Java Basics - Anfänger-Themen 7
B in & out class problem (java anfängeR) Java Basics - Anfänger-Themen 5
F Java Variablen Problem Java Basics - Anfänger-Themen 8
R Problem beim Ausführen von Java-PGM aus der shel Java Basics - Anfänger-Themen 3
D Java Problem bitte um hilfe Java Basics - Anfänger-Themen 4
L Java [Beginner] Problem Java Basics - Anfänger-Themen 8
K java.util.ConcurrentModificationException problem in der Logik? Quaxli-Tutorial Java Basics - Anfänger-Themen 9
D Java per Konsole oder Batch öffnen - Problem Java Basics - Anfänger-Themen 4
S setVisible Problem bei java.awt Java Basics - Anfänger-Themen 9
J Anfänger-Problem: Rechnen mit Java Java Basics - Anfänger-Themen 3
T Java Bilderverwaltung - Image Fetcher Problem Java Basics - Anfänger-Themen 4
V Problem bei java Application Java Basics - Anfänger-Themen 3
B Java Desktop Wecker problem Java Basics - Anfänger-Themen 3
? Konsolenprogramm hat Problem mit java.awt oder javax.swing Java Basics - Anfänger-Themen 7
M Problem mit dem Klassen aus dem java.io Paket Java Basics - Anfänger-Themen 9
E java.util.ConcurrentModificationException Problem Java Basics - Anfänger-Themen 5
G java.io.File problem Java Basics - Anfänger-Themen 5
R Java Problem (mit NetBeans) - html gibt nur java logo aus Java Basics - Anfänger-Themen 7
M Problem mit Java unter Vista 64 Java Basics - Anfänger-Themen 4
S Seltsames Java Problem Java Basics - Anfänger-Themen 3
A Matisse oder Java Problem: JPanels werden riesig ? Java Basics - Anfänger-Themen 3
S Ausgabe auf der Java-Console (Java Problem) Java Basics - Anfänger-Themen 13
A Do/While Problem (Exception in thread "main" java. Java Basics - Anfänger-Themen 4
Nexu [JAVA] Problem mit den Fenstern Java Basics - Anfänger-Themen 2
D Problem bei einer Formel (Bin Java Neuling) Java Basics - Anfänger-Themen 3
D Java Rechner und Einlesen Problem (mit hasNext) Java Basics - Anfänger-Themen 2
G JAVA KARA PROBLEM Java Basics - Anfänger-Themen 4
F Problem mit auführen einer .bat Datei aus Java heraus Java Basics - Anfänger-Themen 24
I Problem mit import java.awt.*; Java Basics - Anfänger-Themen 5
J Java GUI Problem (throws.) Java Basics - Anfänger-Themen 3
S Problem beim kompilieren mit Java 1.4 Java Basics - Anfänger-Themen 4
A problem mit java.awt Java Basics - Anfänger-Themen 17
K Problem mit javax/servlet/http/HttpServletRequest.java Java Basics - Anfänger-Themen 2
N Problem mit MySql und Java Java Basics - Anfänger-Themen 12

Ähnliche Java Themen

Neue Themen


Oben