java.awt.point cannot be converted to java string

Pinhg

Cadet 2nd Year
Registriert
Mai 2020
Beiträge
24
Hallo,
wir sollen Zuhause Informatik weitermachen...

Leider kann der Lehrer nicht erklären und ich muss so ein Scoreboard für ein Pong-Spiel erstellen.

Laut Nachricht müsste das die richtige Methode sein: drawText(new Point(50,5), "Hallo");

Aber es kommt der Fehler " java.awt.point cannot be converted to java string "
Woran kann es liegen? Bzw. wie behebt man das?
LG
Screenshot_3.png
 
https://stackoverflow.com/questions/8802320/draw-text-with-graphics-object-on-jframe
ich glaube, da siehst du deine Loesung ;)



Pinhg schrieb:
Leider kann der Lehrer nicht erklären und ich muss so ein Scoreboard für ein Pong-Spiel erstellen.
was hat er denn nicht erklaert?
Stell direkte Fragen. Hausaufgabenhilfe gibts hier nur in Form von Hinweisen und Hilfestellungen. Nicht in Form fertiger Loesungen ;)
Also: Stell direkte fragen. Was hast du versucht? Wie verstehst du das Problem?

Programmieren erfordert i.d.r sehr viel Eigenrecherche
Ergänzung ()

Hier noch ein beispiel, wie du mit AWT text an stellen schreibst: https://examples.javacodegeeks.com/desktop-java/awt/draw-text-example/
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Enotsa
Pinhg schrieb:
Laut Nachricht müsste das die richtige Methode sein: drawText(new Point(50,5), "Hallo");
Was für ne Nachricht?
Wo ist denn die Methode definiert?

Pinhg schrieb:
Aber es kommt der Fehler " java.awt.point cannot be converted to java string "
Woran kann es liegen?
Naja. Es bedeutet so ziemlich das, was auch da steht. Offenbar erwartet die Methode an der Stelle den Typ String aber Du übergibst Typ Point.

Pinhg schrieb:
Leider kann der Lehrer nicht erklären
Woran hapert es denn genau? Was willst Du erklärt haben?
 
  • Gefällt mir
Reaktionen: Raijin und madmax2010
Zunächst einmal musst du prüfen welche Methode "drawText" du verwendest, weil es diese Methode durchaus in verschiedenen Klassen, Objekten und Interfaces geben kann.

Im vorliegenden Fall greifst du auf die Methode drawText der Klasse GGBackground. Ist diese selbst programmiert, schaust du dir den Kopf der Methode an, der den Rückgabe- aber auch die Übergabeparameter enthält. Ist diese Methode Teil eines Frameworks, findet man die Parameter in dessen Dokumentation. Die Reihenfolge der Parameter ist beim Aufruf einzuhalten.

Augenscheinlich erwartet die genutzte Methode anstelle eines Point-Objekts einen String. Warum das so ist? Schau dir die besagte Methode an. Es kann sein, dass du einfach nur den Point und den String tauschen musst, aber es kann auch sein, dass die Methode überhaupt keinen Point als Parameter erwartet, an keiner Stelle. Schließlich wird bei der Instanzierung des spielballs aus der Klasse "Ball" auch kein Point verwendet.


Für die Zukunft: Poste Quellcode bitte in code-Tags und nicht als Screenshot.
 
  • Gefällt mir
Reaktionen: madmax2010
Raijin schrieb:
Poste Quellcode bitte in code-Tags und nicht als Screenshot.
Aber dann hätten wir doch nicht die schöne grafische Aufbereitung der Fehlermeldung gekriegt. ;-)
 
  • Gefällt mir
Reaktionen: Raijin und madmax2010
madmax2010 schrieb:
https://stackoverflow.com/questions/8802320/draw-text-with-graphics-object-on-jframe
ich glaube, da siehst du deine Loesung ;)




was hat er denn nicht erklaert?
Stell direkte Fragen. Hausaufgabenhilfe gibts hier nur in Form von Hinweisen und Hilfestellungen. Nicht in Form fertiger Loesungen ;)
Also: Stell direkte fragen. Was hast du versucht? Wie verstehst du das Problem?

Programmieren erfordert i.d.r sehr viel Eigenrecherche
Ergänzung ()

Hier noch ein beispiel, wie du mit AWT text an stellen schreibst: https://examples.javacodegeeks.com/desktop-java/awt/draw-text-example/
Habs genau so gemacht... jetzt steht da: Undeclared Methode
Java.awt.* ist aber importiert

andy_m4 schrieb:
Was für ne Nachricht?
Wo ist denn die Methode definiert?


Naja. Es bedeutet so ziemlich das, was auch da steht. Offenbar erwartet die Methode an der Stelle den Typ String aber Du übergibst Typ Point.


Woran hapert es denn genau? Was willst Du erklärt haben?
Ich möchte wissen warum das als Fehler deklariert wird. Mein Lehrer hat uns das genau so geschickt... Wie gebe ich Ihn denn den String?
Ergänzung ()

Raijin schrieb:
Zunächst einmal musst du prüfen welche Methode "drawText" du verwendest, weil es diese Methode durchaus in verschiedenen Klassen, Objekten und Interfaces geben kann.

Im vorliegenden Fall greifst du auf die Methode drawText der Klasse GGBackground. Ist diese selbst programmiert, schaust du dir den Kopf der Methode an, der den Rückgabe- aber auch die Übergabeparameter enthält. Ist diese Methode Teil eines Frameworks, findet man die Parameter in dessen Dokumentation. Die Reihenfolge der Parameter ist beim Aufruf einzuhalten.

Augenscheinlich erwartet die genutzte Methode anstelle eines Point-Objekts einen String. Warum das so ist? Schau dir die besagte Methode an. Es kann sein, dass du einfach nur den Point und den String tauschen musst, aber es kann auch sein, dass die Methode überhaupt keinen Point als Parameter erwartet, an keiner Stelle. Schließlich wird bei der Instanzierung des spielballs aus der Klasse "Ball" auch kein Point verwendet.


Für die Zukunft: Poste Quellcode bitte in code-Tags und nicht als Screenshot.
Danke, ich guck mir die Methode mal genauer an.
 
In diesem konkreten Fall gibt es nicht viel zu raffen. Das Problem hier ist eher, dass du nicht liest, was da steht. Hier im Thread, der Fehlermeldung und der verlinkten Doku sind alle notwendigen Informationen enthalten.
Dich jetzt noch direkter draufzustoßen bringt didaktisch wenig und würde außerdem den Forenregeln widersprechen.
Schau es dir nochmal genau an, dann kommst du schon drauf.

Welche IDE nutzt du eigentlich? Manch andere könnte dir hier auch ein Stück helfen mit Komfortfunktionen. Die können manchmal durchaus auch viel zum Verständnis beitragen.
 
Pinhg schrieb:
https://jython.ch/index.php?inhalt_links=navigation.inc.php&inhalt_mitte=gamegrid/gamegriddoc.html
Dort ist drawText in der Klaasse GGBackground zu sehen. Und die Klasse habe ich meiner Meinung ja mit "import ch.aplu.jgamegrid.*;" importiert.

Sorry dass ich das nicht raff, ich blick da nicht durch :D
Kennst du dieses Spiel, bei dem Kinder Holzformen wie Sterne, Dreiecke, Kreise und Quadrate in entsprechende Lücken stecken müssen? Stern auf Stern, Kreis auf Kreis, Dreieck auf Dreieck und Quadrat auf Quadrat. Stern auf Quadrat funktioniert nicht. Bei einer Methode ist das nicht anders. Lies die Doku, die du selbst verlinkt hast, suche die Methode drawText in der Klasse GGBackground und überlege dir warum es wohl nicht funktioniert, wenn man mit nem Stern auf nem Quadrat rumhämmert :hammer_alt:

Die Syntax einer Programmiersprache ist penibel einzuhalten. Wenn die Entwicklungsumgebung bzw der Compiler dir sagt, dass ein Point kein String ist, dann solltest du das wörtlich nehmen. Dein Fehler besteht nicht darin, dass du im Programmieren noch unerfahren bist - jeder war mal Anfänger - sondern darin, dass du nicht richtig hinguckst was da steht. Das soll kein Vorwurf sein, sondern lediglich eine Feststellung, weil du die Antwort auf deine Frage selbst verlinkt hast, die Dokumentation...
 
  • Gefällt mir
Reaktionen: andy_m4
Zurück
Oben