(Sorry, wollte es eigentlich in Java-Allgemein posten - bitte verschieben!)
Hallo,
ich habe Java gelernt, indem ich einen kleinen Grafikeditor programmiert habe. Nun will ich den Editor etwas erweitern und hätte wieder ein "kleines" Logikproblem:
Ist-Zustand:
Es gibt ein Hintergrundbild und man kann darauf Linien, Rechtecke usw. durch Eingabe der Koordinaten zeichnen.
Soll-Zustand:
Es gibt ein Hintergrundbild und man soll darauf Linien, Rechtecke usw. durch "Aufziehen" zeichnen. Zwischen dem Startpunkt und dem neuen Endpunkt (bis zum definieren des Endpunkts der Mauszeiger) soll eine gestrichelte Linie sein, damit man eben sieht, wie groß die Linie sein sollte.
Damit nun das Hintergrundbild nicht immer neu in ein BufferedImage geladen werden muss, wollte ich in paintComponent ein LinienObjekt erzeugen dort mit Mouselistener Start- und Endpunkt herausfinden und die (gestrichelte) Linie zeichnen.
Nun mein Problem, ich würde ja auch dem LinienObjekt das Graphics vom paintComponent übergeben und erst wieder die gestrichelte Linie auf das Hintergrundbild zeichnen. Ich will aber eher, dass das LinienObjekt ein eingenes BufferdImage erzeugt, welches in paintComponent zurückgegeben wird und in paintComponent alle BufferedImage gezeichnet werden.
Was haltet ihr davon? Wie sollte ich das machen - ich bräuchte ja ein zweites Graphics...
Ich hoffe, ihr könnt mir folgen, es ist halt schwer zu beschreiben.
lg flo
Hallo,
ich habe Java gelernt, indem ich einen kleinen Grafikeditor programmiert habe. Nun will ich den Editor etwas erweitern und hätte wieder ein "kleines" Logikproblem:
Ist-Zustand:
Es gibt ein Hintergrundbild und man kann darauf Linien, Rechtecke usw. durch Eingabe der Koordinaten zeichnen.
Soll-Zustand:
Es gibt ein Hintergrundbild und man soll darauf Linien, Rechtecke usw. durch "Aufziehen" zeichnen. Zwischen dem Startpunkt und dem neuen Endpunkt (bis zum definieren des Endpunkts der Mauszeiger) soll eine gestrichelte Linie sein, damit man eben sieht, wie groß die Linie sein sollte.
Damit nun das Hintergrundbild nicht immer neu in ein BufferedImage geladen werden muss, wollte ich in paintComponent ein LinienObjekt erzeugen dort mit Mouselistener Start- und Endpunkt herausfinden und die (gestrichelte) Linie zeichnen.
Nun mein Problem, ich würde ja auch dem LinienObjekt das Graphics vom paintComponent übergeben und erst wieder die gestrichelte Linie auf das Hintergrundbild zeichnen. Ich will aber eher, dass das LinienObjekt ein eingenes BufferdImage erzeugt, welches in paintComponent zurückgegeben wird und in paintComponent alle BufferedImage gezeichnet werden.
Was haltet ihr davon? Wie sollte ich das machen - ich bräuchte ja ein zweites Graphics...
Ich hoffe, ihr könnt mir folgen, es ist halt schwer zu beschreiben.
lg flo