Java Methoden übergreifende Funktion?

1 Antwort

Bevor ich auf die Frage eingehe, möchte ich eine Anmerkung zum Code äußern. Bitte rufe NIEMALS die repaint()-Methode innerhalb der paintComponent-Methode auf. Warum? Dazu musst du erst einmal wissen, wie Java Komponenten zeichnet:

Die paint-Methode ist für ist für das Zeichnen jeder Komponente zuständig. Sie berechnet viele Dinge und ruft u.a. auch die drei Methoden paintComponent, paintBorder und paintChildren auf.

paintComponent ist für das Zeichnen des Hintergrunds der Komponente zuständig, paintBorder zeichnet den Rahmen und paintChildren ist für das Zeichnen der Kindelemente zuständig. repaint macht eine Anfrage beim RepaintManager, der entscheidet, wann gezeichnet wird, also wann paint aufgerufen wird. Dadurch können mehrere Requests zu einem zusammengefasst werden, um die Gesamtzahl an Updates zu minimieren, was die Performance verbessert.

Du aber verursachst eine Endlosschleife, sodass dein Element ununterbrochen neu gezeichnet wird.

Nun zur eigentlichen Frage:

Wie kann ich aus der Methode BlockCreator auf die Methode zugreifen wo ich "Zeichne"

Gar nicht. Du rufst repaint() auf und es wird zur passendsten Gelegenheit neu gezeichnet. Wenn sich die Elemente verändern sollen, musst du auf globale Eigenschaften setzen, die du veränderst.

Solltest du dabei noch unsicher sein, schau doch mal hier und hier rein.

Und wie kann ich dann einen Charakter oder denn Hintergrund zeichnen?

0
@EnergyKuchen

Schau doch einfach in die Links. Dort ist alles gut erklärt. Du würdest einfach alles, was du speichern willst, in gewissen Datenstrukturen wie z.B. Arrays oder Listen speichern und einen Repaint anfordern.

0

Was war für euch die beste Methode Kanji zu effektiv und schnell zu lernen. Wie lange habt ihr gebraucht um den Großteil zu beherrschen?

...zur Frage

Java: Pause einbauen?

Wir arbeiten in der Schule mit BlueJ- zugegeben ziemlich primitiv- Ich möchte für meine Hausaufgabe (eine Warteschlange mit mehreren Patienten) eine Testklasse erstellen die alle Methoden zu Demonstrationszwecken durchlaufen lässt. Dort soll eine Methode aufgerufen werden und dann nach 5 Sekunden Pause die nächste Methode usw. Wie kann ich diese Pause implementieren?

...zur Frage

Java - Parameter, Variablen, Methoden

Kann mir jemand erklären, worin der Zusammenhang zwischen einem Parameter, einer Variable und einer Methode in Java besteht? Das erschließt sich mir nicht ganz.

Vielen Dank schonmal im Voraus :)

...zur Frage

zum erbrechen bringen #methoden

Sehr geehrte Leser, ich bin sehr krank und habe ein übles gefühl... Deshalb will ich mich zum Erbrechen bringen und wollte frafen welche methoden es gibt habs schon mit Salzwasser und natürlich auch der alt bekannten Finger-im-Hals methode versucht. Vergeblich - mache ich was falsch?? Auserdem wollte ich fragen welche methoden es sonst noch so gibt

...zur Frage

Bisse zum beruhigen oder wegen Depressionen?

Hey Leute, also: Ich beisse mich manchmal in den arm (meist nur ein Abdruck, hat erst 1 mal geblutet) wenn ich gestresst, ich plötzlich sehr traurig und niedergeschlagen (oft durch Gedanken) oder frustriert bin. Meist wird es dann nach 3-10 Sekunden biss besser, manchmal beiss ich mich auch noch ein zweites oder drittes mal. Ich seh das mehr als "Anti-stress Methode", weil ich das meistens mache wenn ich sehr gestresst / frustriert bin und das mir dann hilft. Aber könnte das auch mit meinen seit 1 jahr andauernden Depressionen zusammenhängen? ich hab schon viel anderes probiert (was manchmal hilft ist mich am Schlagzeug richtig auszutoben, aber oft macht es das nur noch schlimmer) z.B. Stressbälle, boxsack oder so aber nur diese Methode scheint zu funktionieren. also, denkt ihr das ist "nur" eine anti-stress Methode oder könnte es auch mit meinen Depressionen zusammenhängen? danke schon im voraus

...zur Frage

CMD Konsole leeren mit Java Methode?

Folgendes Szenario,

Habe eine .java erstellt mit einigen Methoden, dazu noch eine Methode die beim Aufruf die Konsole leert. Da ich eine Menu erstellt habe und der Algorithmus bei erwartender Menü Zahl Eingabe stopt, führ ich nach jeder Aktion vor dem Menuaufruf meine Methode clearScreen() auf, dass ich wieder eine Sauber Ausgabe habe.

Für die normale Java Konsole (BlueJ) reicht folgende Methode aus:

public void clearScreen() { System.out.print('\u000C'); }

Nun möchte ich aber die .java im CMD ausführen und geht bis auf die Methode clearScreen().

Die Konsole leert man im CMD mit der Eingabe "cls". 

Aus meinem Verständnis sollte der folgende Befehl doch "cls" schreiben und Enter drücken, sodass die CMD Konsole geleert wird!?

System.out.println("cls");

"cls" für die Eingabe, 

"...ln" für Enter (denk da ist der Fehler)

jemand ne Lösung?

...zur Frage

Was möchtest Du wissen?