Revision: 8699
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at October 3, 2008 09:20 by nickmeinhold
Initial Code
// added code to select an item from the canvas, currently just prints the item's image path // just to show it works. The properties toolbar needs to change accordingly package project; import java.awt.*; import javax.imageio.ImageIO; import javax.swing.*; import java.awt.event.*; import java.io.File; import java.util.ArrayList; import java.util.Iterator; public class TheCanvas extends JPanel implements MouseListener, MouseMotionListener { private int X, Y; private Image image; static public ArrayList<Item> canvas_items = new ArrayList<Item>(); public TheCanvas() { addMouseMotionListener(this); addMouseListener(this); setVisible(true); } public void mouseMoved(MouseEvent event) { X = (int) event.getPoint().getX(); Y = (int) event.getPoint().getY(); repaint(); } public void mouseDragged(MouseEvent event) { mouseMoved(event); } public void mousePressed(MouseEvent event) { } public void mouseReleased(MouseEvent event) { } public void mouseEntered(MouseEvent event) { } public void mouseExited(MouseEvent event) { } public void mouseClicked(MouseEvent event) { System.out.println(X+","+Y); if(MapMaker.current_item != null) { Item placed_item = new Item(MapMaker.current_item); placed_item.setPos(X, Y); canvas_items.add(placed_item); MapMaker.current_item = null; repaint(); } else { for (int i = canvas_items.size()-1; i >= 0; i--) { Item item = (Item) canvas_items.get(i) ; if(item.picked(X, Y)) { System.out.println(item.getImgpath()); break; } } } } public void update(Graphics graphics) { paint(graphics); } public void paint(Graphics g) { // Dynamically calculate size information Dimension size = getSize(); // diameter //int d = Math.min(size.width, size.height); //int x = (size.width - d)/2; //int y = (size.height - d)/2; g.setColor(Color.white); g.fillRect(0, 0, size.width, size.height); for (Iterator<Item> it = canvas_items.iterator (); it.hasNext (); ) { Item item = it.next (); g.drawImage(item.getImg(), item.getPos().x, item.getPos().y, null); } if(MapMaker.current_item != null) g.drawImage(MapMaker.current_item.getImg(), X, Y, null); } }
Initial URL
Initial Description
Initial Title
NickMeinholdTheCanvas v0.3
Initial Tags
Initial Language
Java