Bilder speichern 2 - Methode richten?

Status
Nicht offen für weitere Antworten.

Heiland

Bekanntes Mitglied
Also,

Durch einen KLick wird ein BIld gezeichnet (oder soll gezeichnet Werden) das Problem ist, dass das Bild nie gespeichert bleibt. Es soll ein repaint erfolgen, aber nicht meine BIlder löschen, die ich durch klicken gemacht habe!

Hier der Code: Ich sitze jetzt Stunden daran, aber weiß nicht, wie man das lösen soll!

Code:
import java.awt.*;
import java.awt.event.*;

import javax.swing.*;
import java.io.*;

public class LevelViewer extends JPanel
{
  int levelWidth;
  int levelHeight;
  int mouseXPos;
  int mouseYPos;
  int tileXPos;
  int tileYPos;
  int tileX;
  int tileY;
  int tileXCopy;
  int tileYCopy;
  int index = 1;
  int indexCount = 0;
  int newCount;
  Image newImage;
  String[] imageSave;
  String imageString;
  String imageString2;
  int imageString2length;
  Image[] imageCopy;
 
  public LevelViewer(int levelWidth, int levelHeight) 
  {
  	 this.levelWidth = levelWidth;
     this.levelHeight = levelHeight;
     this.setBackground(Color.BLACK);
     this.addMouseListener(new MouseAdapter()
     {
     	public void mouseClicked(MouseEvent mse)
     	{
     		//getNewCount();
     		Graphics g = getGraphics();
     		mouseXPos = mse.getX();
  	   		mouseYPos  = mse.getY();
  	   		tileXCopy = getTileSourceX();
  	   		tileYCopy = getTileSourceY();
  	   		imageCopy = new Image[index];
  	   		imageCopy[indexCount] = Toolkit.getDefaultToolkit().createImage(imageString2);
  	   		//g.drawImage(imageCopy[indexCount], tileXCopy, tileYCopy, null);
  	   		System.out.println(imageString2);
  	   		System.out.println(tileXCopy);
  	   		System.out.println(tileYCopy);
  	   		index += 1;
  	   		indexCount += 1;
  	   		repaint();
     	}
     });
     this.addMouseMotionListener(new MouseMotionAdapter()
     {
     	public void mouseMoved(MouseEvent mse)
     	{
     		mouseXPos = mse.getX();
  	   		mouseYPos  = mse.getY();
  			getTileSourceX();
  			getTileSourceY();
  			//repaint();
     	}
     });
  }
  
  public int getNewCount()
  {
  	newCount = indexCount;
  	return newCount;
  }
  
  public void getImageString()
  {
  	System.out.println(imageString2);
  	imageString2length = imageString2.length();
  }
  
  public void setTileImage(String imageString)
  {
  	newImage = Toolkit.getDefaultToolkit().createImage(imageString);
  	imageString2 = imageString;
  }
  
  public void setLevelSize(int newWidth, int newHeight)
  {
  	levelWidth = newWidth;
  	levelHeight= newHeight;
  	repaint();
  }
  
  public int getTileSourceX()
  {
  	tileXPos = mouseXPos/50;
  	tileX = tileXPos * 50;
  	return tileX;
  }
  
  public int getTileSourceY()
  {
  	tileYPos = mouseYPos/50;
  	tileY = tileYPos * 50;
  	return tileY;
  }
 
  public void paintComponent(Graphics g)
  {
  	 super.paintComponent(g);
  	 g.setColor(Color.BLUE);
  	 g.clipRect(0 ,0, levelWidth * 50 + 1, levelHeight * 50 + 1);
  	 
  	 for (int i=0; i<levelWidth + 1; i++)
  	 {
  	 	g.drawLine(i * 50 ,0 ,i * 50, this.getHeight());
  	 }
  	 for (int y=0; y<levelHeight + 1; y++)
  	 {
  	 	g.drawLine(0, y * 50,this.getWidth(), y * 50);
  	 }
  	 //g.drawImage(newImage, tileX, tileY, null);
  	 //int count = getNewCount();
  	 //for(int a=0; a<count; a++)
  	 //{
  	 	//g.drawImage(imageCopy[tileXCopy][tileYCopy], tileXCopy, tileYCopy, null);
  	 	//System.out.println("COUNTER: "+count);
  	 	//System.out.println("A      : "+a);
  	 //}
  	 if(imageCopy != null)
  	 {
  	 	for(int counter=0; counter<indexCount ; counter++)
  	 	{
  	 		g.drawImage(imageCopy[counter], tileXCopy, tileYCopy, null);
  	 		if(counter < indexCount)
  	 		{
  	 			counter = 0;
  	 		}
  	 	}	
  	 }
  	 
  }
  
     
  
  public Dimension getPreferredSize()
  {
  	return new Dimension (levelWidth * 50 + 1, levelHeight * 50 + 1);
  }
}
 

Illuvatar

Top Contributor
Wenn du das
Code:
imageCopy = new Image[index];
in der mouseClicked-Methode machst, wird das Array jedesmal neu gemacht und alle Bilder, die du früher gemacht hast, auf null gesetzt. Du musst das Array also außerhalb initialisieren.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Bilder effizient speichern/serialisieren Spiele- und Multimedia-Programmierung 10
A Bilder(BMP) speichern Spiele- und Multimedia-Programmierung 2
H Bilder speichern Spiele- und Multimedia-Programmierung 3
M Bilder werden unscharf angezeigt Spiele- und Multimedia-Programmierung 5
S Bilder Für Schachfiguren Spiele- und Multimedia-Programmierung 14
beatles Minesweeper - keine Bilder Spiele- und Multimedia-Programmierung 3
P [Spiel]Welche Bilder sind gleich Spiele- und Multimedia-Programmierung 2
O Bilder senden TV über DLNA? Spiele- und Multimedia-Programmierung 0
T Bilder Elegant darstellen... Spiele- und Multimedia-Programmierung 7
T Bilder einbinden, bzw. ändern Spiele- und Multimedia-Programmierung 5
M Bilder in Java Spiele- und Multimedia-Programmierung 7
D Slick Lib - Bilder einlesen funktioniert nicht Spiele- und Multimedia-Programmierung 2
B Bilder in GUI ändern ohne repaint() Spiele- und Multimedia-Programmierung 6
T Spielautomat bilder vergleichen Spiele- und Multimedia-Programmierung 34
A Bilder werden nicht geladen Spiele- und Multimedia-Programmierung 6
S Datenbank gesucht für Bilder(gif-dateien) Spiele- und Multimedia-Programmierung 5
A Bilder (auf JPanels) auf komplette Zellengröße (GridBagLayout) skalieren Spiele- und Multimedia-Programmierung 2
I Bilder aus Quaxli's Tutorial Spiele- und Multimedia-Programmierung 3
A bilder performant und unhässlich skalliert darstellen? Spiele- und Multimedia-Programmierung 10
A 2 Bilder übereinander legen Spiele- und Multimedia-Programmierung 15
J 2D-Bilder in Java3D Spiele- und Multimedia-Programmierung 4
S Bilder zuscheiden - Werte von php übergeben Spiele- und Multimedia-Programmierung 7
D Bilder besser interpolieren Spiele- und Multimedia-Programmierung 4
F Dynamische Bilder erzeugen? Spiele- und Multimedia-Programmierung 7
R Bilder aus animierter .gif extrahieren? Spiele- und Multimedia-Programmierung 4
C jpg.Bilder teilen/bearbeiten für Puzzle Spiele- und Multimedia-Programmierung 7
A Bilder bewegen Spiele- und Multimedia-Programmierung 2
M Bilder verzerren [Rechteck -> Trapez] Spiele- und Multimedia-Programmierung 4
K Bilder drehen Spiele- und Multimedia-Programmierung 5
A Bilder flackern Spiele- und Multimedia-Programmierung 5
T Gekachelte Bilder darstellen Spiele- und Multimedia-Programmierung 2
C Speichern von Daten mit Mysql Spiele- und Multimedia-Programmierung 4
J Fertigungstechnik.. PLS HALP.. Quellcode vom Text in java-Klasse speichern Spiele- und Multimedia-Programmierung 2
Devil0s 2D Stadt Generator/2D Welt speichern OHNE Tiles Spiele- und Multimedia-Programmierung 5
N [SLICK] Rectangle in Array Speichern Spiele- und Multimedia-Programmierung 3
M MJPEG Stream aufnehmen (Speichern und von VirtualDub weiterverarbeiten lassen). Spiele- und Multimedia-Programmierung 2
A Speichern un Laden mit Serializable Spiele- und Multimedia-Programmierung 4
B Daten speichern: Reflexion vs Serializable Spiele- und Multimedia-Programmierung 8
A PNG pixelweise/blockweise speichern? Spiele- und Multimedia-Programmierung 2
F Programm für Bildbearbeitung gesucht: Skalieren und Speichern Spiele- und Multimedia-Programmierung 6
Y Jede Aktion sofort speichern Spiele- und Multimedia-Programmierung 5
aze Java 3D : 3D Objekte speichern und später wieder einlesen Spiele- und Multimedia-Programmierung 9
H Speichern und Öffnen von einem Zeichenprogramm Spiele- und Multimedia-Programmierung 4
S benutzerdefiniertes Tileset in Datei speichern Spiele- und Multimedia-Programmierung 3
J Zeichnen in BufferedImage und dieses in Datei speichern Spiele- und Multimedia-Programmierung 2
M Jpanel Graphik speichern Spiele- und Multimedia-Programmierung 6
H Jpeg Bildinformation in ein Char Array speichern? Spiele- und Multimedia-Programmierung 4
U JPG in größe ändern und speichern Spiele- und Multimedia-Programmierung 3
G highscore in *.dat speichern! Spiele- und Multimedia-Programmierung 8
S Inhalt von Canvas3D als jpg - File speichern Spiele- und Multimedia-Programmierung 2
K Java2d Bild als JPG oder so speichern Spiele- und Multimedia-Programmierung 10
B paintComponent Methode Spiele- und Multimedia-Programmierung 4
P Zahlenwert durch Methode ersetzen Spiele- und Multimedia-Programmierung 1
P .Wav Datei vor main-Methode abspielen? Spiele- und Multimedia-Programmierung 9
H Exeption in thread "Thread-2" NullPointerExeption: init methode? Spiele- und Multimedia-Programmierung 25
S GetBufferStrategy-Methode wird nicht angezeigt Spiele- und Multimedia-Programmierung 6
K Flackern bei repaint Methode Spiele- und Multimedia-Programmierung 3
A Zeichnen außerhalb der paint-Methode Spiele- und Multimedia-Programmierung 6
R Aufruf einer render-Methode Spiele- und Multimedia-Programmierung 12
G Methode sleepen während das Spiel weiterläuft Spiele- und Multimedia-Programmierung 3
M Beste methode zur Map Erstellen in "Block" Games Spiele- und Multimedia-Programmierung 2
J Images laden in static Methode Spiele- und Multimedia-Programmierung 8
P NullPointerException bei Aufruf von Methode Spiele- und Multimedia-Programmierung 10
G Mein erstes minigame -> problem mit Methode Spiele- und Multimedia-Programmierung 3
D Problem Mit Miensweeper Clone & rekursive Methode Spiele- und Multimedia-Programmierung 4
M Run- Methode zu überladen Spiele- und Multimedia-Programmierung 4
S Methode verändert mein Eingabe Array oO Spiele- und Multimedia-Programmierung 6
S Problem beim laden eines Bildes in einer Methode Spiele- und Multimedia-Programmierung 14
D Methode in eigenem Thread auslagern Spiele- und Multimedia-Programmierung 9
A Hilfe bei der Methode COLOR (Java) Spiele- und Multimedia-Programmierung 10
S transparenz per paint()-methode will nicht Spiele- und Multimedia-Programmierung 12
S Zur Laufzeit auf die Methode einer anderen Klasse zugreifen Spiele- und Multimedia-Programmierung 5
A Methode:setPointAntialiasingEnable(true) Spiele- und Multimedia-Programmierung 2
chik Wie arbeitet die polygon.contains Methode in Java Spiele- und Multimedia-Programmierung 4

Ähnliche Java Themen

Neue Themen


Oben