OOP und ich - irgendwie verträgt sich das noch nicht.

Status
Nicht offen für weitere Antworten.

muemmel_0811

Bekanntes Mitglied
Hi zusammen,

so, nun hab ich mein ehemals 1-filiges Progrämmchen etwas OOP-ähnlicher gemacht und hab eine Start.java, die nur die GUI, die aus 4 Tabs besteht lädt, dann eben die 4 GUI-javas, eine Funktionen.java, wo ich alles, was irgendwie "denken bzw. arbeiten" muss, reingepackt hab und eine Koordinaten.java, in der ich ein paar HashMaps lager, aus der ich Daten für "Umrechnungen" beziehe.

Alles funktioniert bis jetzt einwandfrei, aber eben nur bis jetzt, denn jetzt brauch ich im Prinzip eine neue Hashmap, in der ich Labels aus der Quer.java (= eine der GUIs) ablegen will.

Bis jetzt hab ich die Klassen so miteinanderverschachtelt um die entsprechenden Objekte nuzten zu können:
Code:
Quer.java
...
Funktionen fct = new Funktionen(this);
...
JLabel eins = new JLabel();
JLabel zwei = new JLabel();
...

Code:
Funktionen.java
...
Quer qPan;
Koordinaten koo = new Koordinaten();
Koordinaten.QuerKoord qKoo = koo.new QuerKoord();

Funktionen(Quer q) {
qPan = q;
}
...

In der Koordinaten.java gibt es nur den Default-Konstruktor, also () und ein paar HashMaps.
Nun wollte ich dort eine neue HashMap rein schreiben, in der ich die Labels aus der Quer.java ablege.
Und hab es so versucht:
Code:
Koordinaten.java
Quer qPan;
...
put("a", qPan.eins);
...
Das blöde daran ist nur, kompilieren geht noch, aber Progrämmchen starten führt zu einer
Masse an Fehlermeldungen.

Wie muss ich die Quer.java einbinden, damit das geht - oder geht das garnicht und ich schreib diese
Hashmap besser in die Quer.java?

Grüße,
muemmel
 

Der Müde Joe

Top Contributor
schwer zu sagen ohne zusammenhängede codes und ohne Fehlermeldung

bis jetzt:

Quer ist nicht initialisiert und schmeist ne NullPointerException
--> Quer q = new Quer(); vielleicht
 

Leroy42

Top Contributor
muemmel hat gesagt.:
Das blöde daran ist nur, kompilieren geht noch, aber Progrämmchen starten führt zu einer
Masse an Fehlermeldungen.

Und die sind so geheim, daß du sie nicht postest (incl. zugrundeliegender
Zeilen im Quellcode) :shock:

BTW:
Code:
put("a", qPan.eins);
kann nur kompilieren, wenn Koordinaten eine HashMap erweitert, was sie
sicherlich nicht tut.
 

muemmel_0811

Bekanntes Mitglied
OK, sorry, ich war vorher etwas schreibfaul :oops:

Also, was die Koordinaten.java angeht, die sieht so aus:
Code:
public class Koordinaten{
   Quer q = new Quer();
   Koordinaten() {
   }
   
   public class QuerKoord extends HashMap<String, Point> {
      QuerKoord() {
         put("hE0", new Point(6,32));
         put("hE1", new Point(40,32));
         put("hE2", new Point(76,32));
         ...
      }
   }
   ...
}
@Leroy42: wie gesagt, es funktioniert doch schon :wink:

Und was ich wohl gänzlich verschwiegen hab, ist, dass die Labels (ich hab davon mehr als 100 in den 4 GUIs verbaut) in der Quer.java nochmals aus einer Elemente.java kommen, was somit dann so aussieht:
Code:
Quer.java
public class Quer extends JPanel {
   Elemente elem = new Elemente(); 
   Elemente.Feld lbl_e0 = elem.new Feld();
   Elemente.Feld lbl_e1 = elem.new Feld();
   ...
}

Und die Fehlermeldung lautet:
Code:
Exception in thread "main" java.lang.StackOverflowError
 at java.util.Hashtable.get(Hashtable.java:336)
 at javax.swing.UIDefaults.getFromHashtable(UIDefaults.java:142)
 at javax.swing.UIDefaults.get(UIDefaults.java:130)
 at javax.swing.MultiUIDefaults.get(MultiUIDefaults.java:44)
 at javax.swing.UIDefaults.getColor(UIDefaults.java:380)
 at javax.swing.UIManager.getColor(UIManager.java:590)
 at javax.swing.LookAndFeel.installColors(LookAndFeel.java:58)
 at javax.swing.LookAndFeel.installColorsAndFont(LookAndFeel.java:92)
 at javax.swing.plaf.basic.BasicLabelUI.installDefaults(BasicLabelUI.java:278)
 at javax.swing.plaf.basic.BasicLabelUI.installUI(BasicLabelUI.java:263)
 at javax.swing.JComponent.setUI(JComponent.java:653)
 at javax.swing.JLabel.setUI(JLabel.java:237)
 at javax.swing.JLabel.updateUI(JLabel.java:251)
 at javax.swing.JLabel.<init>(JLabel.java:140)
 at javax.swing.JLabel.<init>(JLabel.java:211)
 at Elemente$Feld.<init>(Elemente.java:20)
 at Quer.<init>(Quer.java:18)
 at Koordinaten.<init>(Koordinaten.java:9)
 at Funktionen.<init>(Funktionen.java:18)
 at Quer.<init>(Quer.java:66)
 at Koordinaten.<init>(Koordinaten.java:9)
 at Funktionen.<init>(Funktionen.java:18)
 at Quer.<init>(Quer.java:66)
...

Soweit ich die Fehlermeldung versteh, passt die Sache mit
Code:
Funktionen fct = new Funktionen(this);
nicht - aber wie geht's richtig?

Grüße,
muemmel
 

Der Müde Joe

Top Contributor
at Koordinaten.<init>(Koordinaten.java:9)
at Funktionen.<init>(Funktionen.java:18)

hier haste ne Endlosschleife gemacht.
so nach kurzem überlegen
 

muemmel_0811

Bekanntes Mitglied
OK klar, aber das ganze basiert doch eher darauf, dass ich die Funktionen.java schon in die Quer.java eingebaut hab.

Aber wie krieg ich nun die Quer.java in die Koordinaten.java?
 

muemmel_0811

Bekanntes Mitglied
So, hab's hinbekommen :D

Sorry an alle - bin wohl vorher ziemlich auf dem Schlauch gestanden.

Grüße,
muemmel_0811
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
JordenJost char variable funktioniert irgendwie nicht a+b ergibt nicht à Java Basics - Anfänger-Themen 4
A Lässt sich dieser Ausdruck irgendwie einfacher schreiben? Java Basics - Anfänger-Themen 4
Chocola Datums-String mit "ungültigem Anhängsel" wird ohne Fehler geparsed. Kann man dies irgendwie beheben? Java Basics - Anfänger-Themen 3
P Datentypen extrem viele Fehler nur irgendwie seh ich den Grund ned... Java Basics - Anfänger-Themen 3
S LinkedList indexOf() - geht des irgendwie schneller? Java Basics - Anfänger-Themen 23
S Irgendwie harmonieren die Klassen nicht... Java Basics - Anfänger-Themen 8
C ok... der spuckt irgendwie nur komische zeichen aus.... Java Basics - Anfänger-Themen 2
S Irgendwie kann ich meine Eclipse Projekte nicht mehr veraendern..? Java Basics - Anfänger-Themen 5
M Text in Konsole schreiben, den man irgendwie verändern kann. Java Basics - Anfänger-Themen 9
B Bild in JFrame darstellen geht irgendwie nicht Java Basics - Anfänger-Themen 13
T getGraphics() geht irgendwie nicht? Java Basics - Anfänger-Themen 3
M if anweisung funkt irgendwie nicht -.- Java Basics - Anfänger-Themen 2
E irgendwie bin ich zu blöd... Java Basics - Anfänger-Themen 5
M OOP und ich - das verträgt sich nich... Java Basics - Anfänger-Themen 12
N Klassen Hintergrundfarbe in JPanel ändert sich nicht Java Basics - Anfänger-Themen 3
KogoroMori21 Wann ist der richtige Zeitpunkt, um sich Hilfe zu suchen? (Bin Informatik-Student) Java Basics - Anfänger-Themen 10
N Hey Leute und zwar versuche ich gerade ein 2D Spiel zu Programmieren aber die Figur will sich nicht nach links oder rechts bewegen :( Java Basics - Anfänger-Themen 12
T code so schreiben das er von sich selber anpasst (code soll die anzahl aller bustaben bestimmen) Java Basics - Anfänger-Themen 16
P Probleme mit NetBeans: Wie lässt sich jar. Datei an einem MacBook öffnen Java Basics - Anfänger-Themen 21
G Variable aktualisiert sich nicht in rekursiver Methode Java Basics - Anfänger-Themen 4
F abbruch Exception lässt sich nicht erstellen Java Basics - Anfänger-Themen 2
G jar file lässt sich nicht öffnen Java Basics - Anfänger-Themen 1
xaerez Threads Boolean Wert verändert sich nicht Java Basics - Anfänger-Themen 5
xaerez Threads Boolean Wert verändert sich nicht Java Basics - Anfänger-Themen 4
berserkerdq2 Spiel hängt sich immer in der 4 Runde auf, obwohl ich jede Runde das gleiche mache Java Basics - Anfänger-Themen 1
GoenntHack Java Text von JLabel verändert sich nicht Java Basics - Anfänger-Themen 1
E multiple Timer die sich nicht summieren Java Basics - Anfänger-Themen 12
J Mein Java Programm lässt sich nicht mehr bearbeiten Java Basics - Anfänger-Themen 2
A Konsolenausgabe verschiebt sich Java Basics - Anfänger-Themen 8
M Wie lassen sich Konstanten in Bedingung stellen? Java Basics - Anfänger-Themen 1
M Wie lassen sich Objektkonstanten initialisieren, wenn sie eine Bedingung erreichen? Java Basics - Anfänger-Themen 6
P Mein Programm wird zwar erfolgreich Compiliert, öffnet sich aber nicht Java Basics - Anfänger-Themen 6
I Probleme mit OutputStream - Datei lässt sich nicht öffnen Java Basics - Anfänger-Themen 4
B Programm beendet sich nicht und weiteres seltsames Verhalten Java Basics - Anfänger-Themen 9
Nina Pohl Ein Vorgang bezog sich auf ein Objekt, das kein Socket ist Java Basics - Anfänger-Themen 6
H 36 Zufallszahlen die sich nicht wiederholen Java Basics - Anfänger-Themen 27
E Warum lässt sich eine Klasse nicht starten, wenn eine andere Klasse in dem Modul fehlerhaft ist? Java Basics - Anfänger-Themen 1
IamArctic Quaxli Tutorial, Rotorblätter bewegen sich nicht mehr Java Basics - Anfänger-Themen 4
M Java GUI label ändert sich erst zum Schluss Java Basics - Anfänger-Themen 4
H Liste speichern. Was lässt sich verbessern? Java Basics - Anfänger-Themen 7
X Kurzes Java-Programm, das sich komisch verhält Java Basics - Anfänger-Themen 6
J CMD schließt sich automatisch Java Basics - Anfänger-Themen 5
S Was für Aufgaben könnten sich hier hinter verbergen? Java Basics - Anfänger-Themen 5
M Wie kann ich ein Objekt erstellen, wenn sich der Klassenname in einer Variablen befindet? Java Basics - Anfänger-Themen 10
F boolean stellt sich auf true Java Basics - Anfänger-Themen 15
H Datentypen Was für eine Format verbirgt sich hinter dem Integer-Wert 053? Java Basics - Anfänger-Themen 2
A Haben KNNs ein Gedächtnis, lernen etwas oder verändern sich, während sie nicht trainieren, aber aktiv sind? Java Basics - Anfänger-Themen 3
M Werte ändern sich nicht mehr nach Reset Java Basics - Anfänger-Themen 14
H Punkt bewegt sich auf einer Ellipse Java Basics - Anfänger-Themen 6
X Erste Schritte boolean wert ändert sich nicht? Java Basics - Anfänger-Themen 6
I Klassen Eine ArrayList<Long>, die sich automatisch sortiert Java Basics - Anfänger-Themen 20
Franzi1001 ScrollBar lässt sich nicht bewegen Java Basics - Anfänger-Themen 4
W Client verbindet sich nicht Java Basics - Anfänger-Themen 14
J Mein Programm beendet sich ohne mein Zutun Java Basics - Anfänger-Themen 9
J Zwei Klassen die sich gegenseitig referenzieren - Bad practice? Java Basics - Anfänger-Themen 4
N Bewegtes Objekt soll sich um eine Parallele bewegen Java Basics - Anfänger-Themen 0
K Zufalsszahl soll sich nicht wiederholen Java Basics - Anfänger-Themen 9
C Classpath Compiler lässt sich nur bedingt von Kommandozeile aus starten Java Basics - Anfänger-Themen 17
CptK Datentypen Objekt lässt sich nicht zu arraylist hinzufügen Java Basics - Anfänger-Themen 2
L Mein Taschenrechner lässt sich plötzlich nicht mehr öffnen Java Basics - Anfänger-Themen 5
CptK Interface JLabel bewegt sich nicht sondern teleportiert sich... Java Basics - Anfänger-Themen 3
P jar file lässt sich nicht ausführen Java Basics - Anfänger-Themen 4
L Programm lässt sich nicht starten! Java Basics - Anfänger-Themen 1
pkm Interface Funktionales Interface lässt sich nicht implementieren. Java Basics - Anfänger-Themen 2
Hanschyo Programm schließt sich einfach Java Basics - Anfänger-Themen 2
L Panel verkleinert sich unerklärlicherweise Java Basics - Anfänger-Themen 7
J JFrame Fenster öffnet sich nicht Java Basics - Anfänger-Themen 7
x-tshainge Mein Programm lässt sich nicht Starten Java Basics - Anfänger-Themen 8
S Nach dem Herüberschieben eines Arrays zwischen 2 Frames öffnet sich das Frame nicht mehr Java Basics - Anfänger-Themen 12
B Java -Turtle Grafik - kennt sich jemand damit aus? Java Basics - Anfänger-Themen 1
K Sysout wiederholt sich Java Basics - Anfänger-Themen 6
H Wieso öffnet sich der Texteditor? Java Basics - Anfänger-Themen 6
B Classpath Class lässt sich nicht öffnen Java Basics - Anfänger-Themen 3
J Java-Dateien lassen sich nicht editieren Java Basics - Anfänger-Themen 46
T Schleife fährt sich fest Java Basics - Anfänger-Themen 14
E App lässt sich nicht starten Java Basics - Anfänger-Themen 8
ZotacZ Best Practice Lohnt es sich in GWT einzuarbeiten? Java Basics - Anfänger-Themen 4
E Pdf-Document lässt sich im Servlet nicht öffnen Java Basics - Anfänger-Themen 5
G KeyListener und JButton vertragen sich nicht Java Basics - Anfänger-Themen 1
S String ändert sich nicht Java Basics - Anfänger-Themen 2
Bregedur Methoden Matcher und Pattern bei sich wiederholenden Werten Java Basics - Anfänger-Themen 1
P Compiler-Fehler Wo befindet sich hier der Fehler und warum? Java Basics - Anfänger-Themen 21
F MouseMotionListener - Objekt bewegt sich nicht Java Basics - Anfänger-Themen 1
S Erste Schritte Java Applet lässt sich im Browser nicht öffnen Java Basics - Anfänger-Themen 9
G Was hat es mit java.net.* auf sich? Java Basics - Anfänger-Themen 10
X Streams und Ausgabe - lässt sich das einfacher schreiben oder schöner schreiben? Java Basics - Anfänger-Themen 5
J Kann eine .jar sich selber Löschen? Java Basics - Anfänger-Themen 5
OlafHD Java Uhrzeit aktualisiert sich nicht Java Basics - Anfänger-Themen 2
J Java Datei lässt sich nicht kompilieren Java Basics - Anfänger-Themen 3
J Reihenfolge im Vector lässt sich nicht drehen Java Basics - Anfänger-Themen 9
J Wie lässt sich der Konstruktor einer Klasse einer Funktion einer Klasse nutzen. Java Basics - Anfänger-Themen 4
W OOP Zwei Objekte beziehen sich aufeinander (Zirkelbezug)? Java Basics - Anfänger-Themen 4
cezary Server läßt sich nicht starten Java Basics - Anfänger-Themen 2
X wie kann ich in bluej/java einene 2d array mit zahlen fuellen, so dass sich diese in der der zeilen Java Basics - Anfänger-Themen 2
S Variable (int) erhöht sich nicht richtig Java Basics - Anfänger-Themen 18
B Konsole schließt sich sofort Java Basics - Anfänger-Themen 8
Fishmeaker Methoden mit Methoden aufrufen - Programm hängt sich auf Java Basics - Anfänger-Themen 5
F Inhalt einer Variable auswerten, die sich immer wieder ändert Java Basics - Anfänger-Themen 1
T Methoden [GELÖST ]Warum ruft sich die Methode von alleine auf? Java Basics - Anfänger-Themen 3
J Erstes Applet läßt sich nicht anzeigen Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben