Java jpanel zeichnungen abspeichern laden

Wie geht das. wenn ich ein JPanel abspeicher und neu lade ist alles was darauf gezeichnet wurde weg. ich habs dann versucht über ein IMage auf dem JPanel aber das kriege ich nicht hin. hat jemand eine Idee? File-Upload.net - Malen.java Ed handelt sich um ein Paint- ähnliches programm

4 Antworten zur Frage

Bewertung: 4 von 10 mit 1455 Stimmen

Videos zum Thema
YouTube Videos

JAVA-JPanel mit Zeichnungen abspeichern und wieder laden

Also erst einmal würde es sich anbieten wenn du sowohl JFrame als auch JPanel in seperate Klassen packst.
Und dann liegst du nämlich mit deiner Idee gar nicht mal so falsch. In deinem ausgelagerten JPanel könntest du dann ein BufferedImage nehmen und mit dem Graphics Objekt deine Zeichnungen machen:
BufferedImage image = new BufferedImage;
protect ed void paintComponent{
super.paintComponent;
g.drawImage;
}
public void update(paintImage, "PNG", new File("image.png")) throws IOException
image = ImageIO.read"image.png"));
für deine Antwort, was genau meinst du mit in seperate Klassen packen? Was mich verwirrst ist bei ganz normalen Jpanels usw kann ich die ja in mein BorderLayout adden und ich weiß genau wo sich was befindet und was ich auf diesen "Dingen" machen kann. wenn ich jetzt ein Bild auf einen JPanel zeichne. wirkt das als nichts"Echtes" nichts was ich anfassen oder verändern könnte.
Nehmen wir an ich zeichne auf ein JPanel ein Bild.
jetzt gehe ich mit meinem Graphics g hin und zeichne einen Kreis per Click auf das JPanel auf dem mein Bild liegt.
wird dann das Bild das dort liegt verändert? oder wird nur das was ich sehe verändert und bleibt das Bild gleich?
Sry dass ich dich so durchlöchere mit meinen Fragen aber das ist echt verwirrend für mich
dir im voruas
Mit seperaten Klassen meinte ich beispielsweise:
public class PaintPanel extends JPanel
{.
}
public class PaintFrame extends JFrame
{.
PaintPanel panel = new PaintPanel() zugreifen und zeichnen kannst. Du zeichnest also auf das BufferedImage und kannst es dann in seiner Gesamtheit am Ende speichern und wieder laden.
createGraphics()
gezeichnet und das verändert ja nicht mein Image oder? aber mit createGraphics kann ich dann explicit das Image bemalen?
getGraphics und createGraphics von BufferedImage tun so ziemlich das "gleiche". Und ja, das BufferedImage Objekt wird durch das zeichnen verändert.


informatik
Wie funktioniert Website-Phishing?

Wie phishen Accounts mithilfe einer Website, ohne dass andere etwas bemerken? Ich mein, sieht man dass nicht vorher,


java
Eine Frage zu BlueJ

- der Speicher nicht reicht: java.lang.OutOfMemoryError: Java heap space Bei BlueJ musst du die VM Argumente wohl von -


programmierung
Wie funktioniert eine OCR-Erkennung?

Kann mir das Jemand kurz und knackig erklären? Würde mich gerne mal mit Texterkennung beschäftigen, und daher