# Rechtecke beschriften



## Gast (1. Apr 2005)

Hallo,

ich male in meiner Anwendung verschiedene Rechtecke, die einzeln auswählbar sind (ich prüfe, ob die Mauskorrdinaten enthalten sind). Der Benutzer kann die Rechtecke beschriften, dazu muss er doppelt klicken und eine JTextPane erscheint, in der Text auch formatiert (fett, tiefergestellt, usw.) geschrieben werden kann. Nach dem Enterdrücken, verschwindet dass Eingabefeld wieder, und der Eingabestring soll als Label im Rechteck angezeigt werden. Bisher mache ich dass mittels g.drawString(...), der Haken dabei: die Formatierung geht verloren (logisch!). Also wollte ich gleich in jedes Rechteck eine JTextPane einfügen (oder auch JTextField) damit die Formatierung erhalten bleibt, aber da ergeben sich weitere Probleme: 
1. Ich kann die Rechtecke nicht mehr auswählen, ich nehme an, da die Maus bei der Auswahl nicht mehr auf mein Panel sondern das Textfeld klickt.
2. Das Programm scheint reichlich ausgelastet zu sein, je mehr Rechtecke erstellt werden.

Was kann ich machen, damit ich die formatierte Eingabe als Beschriftung für das Rechteck übernehmen kann? Es muss doch eine Lösung in Java geben, Label oder Strings formatiert in einem Panel anzuzeigen.

Wer kann mir helfen?


----------



## Illuvatar (1. Apr 2005)

Mach halt g.setFont/g.setColor


----------



## Roar (1. Apr 2005)

das wird aber ne heidenarbeit das alles zu implementieren was die JTextPane kann.
erstell doch einfach *ein* JTextPane objekt. wenn dann deine rechtecke gerendert werden, setzt du für jedes rechteck den text und formatierung in der jtextpane neu und zeichnest die jtextepane mit jtextpane.paint(dieGrapghicsFürDiesesRechteck); in dein rechteck.


----------



## Gast (1. Apr 2005)

:bahnhof: 
He? Sorry, dass habe ich nicht ganz verstanden.
 :?: 
Momentan habe ich auch nur eine JTextPane, nämlich die, die ich zum Eintragen benutze. Wenn Der Anwender woanders hin klickt, dann erscheint sie an dieser Stelle (wieder leer). Beim Schliessen der TextPane lasse ich mir die Eingabe geben (getText() ). Und wie hängt das jetzt mit textPane.paint(Graphics) zusammen? Der Grafikkontext ist doch immer der selbe, nämlich der von meinem Zeichenpanel.


----------

