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);
//imageCopy = new Image[levelWidth][levelHeight];
this.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent mse)
{
mouseXPos = mse.getX();
mouseYPos = mse.getY();
tileXPos = mouseXPos/50;
tileYPos = mouseYPos/50;
System.out.println(tileXPos);
System.out.println(tileYPos);
//tileXCopy = 0;
//tileYCopy = 0;
imageCopy[tileXPos][tileYPos] = Toolkit.getDefaultToolkit().createImage(imageString2);
//tileXCopy =+ 1;
//tileYCopy =+ 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;
imageCopy = new Image[levelWidth][levelHeight];
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<levelWidth; a++)
{
for(int b=0; b<levelHeight; b++)
{
if(imageCopy[a][b] != null)
{
g.drawImage(imageCopy[a][b], tileXPos*50, tileYPos*50, null);
}
}
}
//g.drawImage(imageCopy[tileXCopy][tileYCopy], tileXCopy, tileYCopy, null);
//System.out.println("COUNTER: "+count);
//System.out.println("A : "+a);
}
public Dimension getPreferredSize()
{
return new Dimension (levelWidth * 50 + 1, levelHeight * 50 + 1);
}
}