Ü
üsch
Einen schönen guten Tag @all...
Ich hätte da mal ne kleine Verständnisfrage, und hoffe ihr könnt mir aus der Not helfen.
Wie man im folgenden Quelltext sieht, versuche ich mich seit neuestem mit Java und arbeite aktuell an einem Thread, der mir die Zeichnung von einfachen Flächen (Kreis, Rechteck etc.) abnimmt.
Und ja - der Thread muss sein, da er für meine App unerlässlich ist.
Der Thread läuft auch bisher ganz gut und auch das zeichnen klappt aus den bisherigen Klassen heraus ohne Probleme - zumindest sagt mir das die Debug-Konsole .
Nun - wenn alles geht - wozu frag ich dann...
Yep - ich hab jetzt vor das zeichnen vom besagten Thread aus auszulösen und benötige für die Methode zeichne noch das Graphics-Objekt. Bisher hab ich mir das immer via Parameter aus der "main" (aus "paint") herangezogen bzw. weitergegeben. Leider läuft das nicht mit dem unten aufgeführten Thread.
Wie man sieht, hab ich mich auch mit "synchronized" versucht - der Compiler meckert dann zwar nicht - die App zeichnet aber auch nicht auf der Oberfläche wie voher.
Habt ihr ne Idee wie man das lösen könnte.
Vielleicht mach ichs mir auch einfach mal wieda besonders schwer und kann mir das ganze weitergeben des Graphics-Objekts sparen... Hab aber leider auch noch nichts gefunden, was mir das sinnvoll abnehmen könnte.
Hier meine Klasse mit dem Thread
class MeineKlasse{
public Graphics g;
private Thread zeichner = new Thread() {
GUI oberflaeche = new GUI();
@Override
public void run() {
while (true) {
synchronized (g) {
oberflaeche.zeichne (100, 100, 1, g);
}
try {
sleep(500L);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
};
public void startezeichner(Graphics ausgabe) {
this.g = ausgabe;
zeichner.start();
}
}
Bin echt für jede Hilfe dankbar
Mit besten Grüßen
üsch
Ich hätte da mal ne kleine Verständnisfrage, und hoffe ihr könnt mir aus der Not helfen.
Wie man im folgenden Quelltext sieht, versuche ich mich seit neuestem mit Java und arbeite aktuell an einem Thread, der mir die Zeichnung von einfachen Flächen (Kreis, Rechteck etc.) abnimmt.
Und ja - der Thread muss sein, da er für meine App unerlässlich ist.
Der Thread läuft auch bisher ganz gut und auch das zeichnen klappt aus den bisherigen Klassen heraus ohne Probleme - zumindest sagt mir das die Debug-Konsole .
Nun - wenn alles geht - wozu frag ich dann...
Yep - ich hab jetzt vor das zeichnen vom besagten Thread aus auszulösen und benötige für die Methode zeichne noch das Graphics-Objekt. Bisher hab ich mir das immer via Parameter aus der "main" (aus "paint") herangezogen bzw. weitergegeben. Leider läuft das nicht mit dem unten aufgeführten Thread.
Wie man sieht, hab ich mich auch mit "synchronized" versucht - der Compiler meckert dann zwar nicht - die App zeichnet aber auch nicht auf der Oberfläche wie voher.
Habt ihr ne Idee wie man das lösen könnte.
Vielleicht mach ichs mir auch einfach mal wieda besonders schwer und kann mir das ganze weitergeben des Graphics-Objekts sparen... Hab aber leider auch noch nichts gefunden, was mir das sinnvoll abnehmen könnte.
Hier meine Klasse mit dem Thread
class MeineKlasse{
public Graphics g;
private Thread zeichner = new Thread() {
GUI oberflaeche = new GUI();
@Override
public void run() {
while (true) {
synchronized (g) {
oberflaeche.zeichne (100, 100, 1, g);
}
try {
sleep(500L);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
};
public void startezeichner(Graphics ausgabe) {
this.g = ausgabe;
zeichner.start();
}
}
Bin echt für jede Hilfe dankbar
Mit besten Grüßen
üsch