Tjenare!
Får inte till det med min MouseListener, den tycks vägra att registrera mina klick.
Kan någon hjälpsam själ spana in min kod och försöka lista ut vad som är fel?
TileMap och Tile klasserna använder sig för tillfället inte av min MouseListener så jag har exkluderat dessa.
Får inte till det med min MouseListener, den tycks vägra att registrera mina klick.
![Whoco5](https://static.flashback.org/img/smilies2/whoco5.gif)
Kan någon hjälpsam själ spana in min kod och försöka lista ut vad som är fel?
![Smile](https://static.flashback.org/img/smilies2/smile1.gif)
Kod:
import javax.swing.*; import java.awt.*; import java.awt.image.BufferStrategy; public class TileMapEditor extends JFrame { private final int WIDTH = 320; private final int HEIGHT = 320; private BufferStrategy bs; private TileMap tileMap; private SimpleMouseListener mouse; public static void main(String[] args) { new TileMapEditor(); } public TileMapEditor() { super("Tile Map Editor"); Canvas canvas = new Canvas(); JPanel panel = (JPanel) getContentPane(); panel.setPreferredSize(new Dimension(WIDTH, HEIGHT)); panel.add(canvas); setSize(WIDTH, HEIGHT); setResizable(false); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); pack(); setVisible(true); setFocusable(true); addMouseListener(mouse); canvas.setBounds(0, 0, WIDTH, HEIGHT); canvas.setIgnoreRepaint(true); canvas.createBufferStrategy(2); bs = canvas.getBufferStrategy(); canvas.setFocusable(true); init(); } public void init() { mouse = new SimpleMouseListener(); tileMap = new TileMap("map.txt", 32, 10, 10); //tileMap.load(); run(); } public void run() { while(true) { update(); render(); try {Thread.sleep(10);} catch(Exception e) {} } } public void update() { if(mouse.isPressed()) { int x = mouse.getX(); int y = mouse.getY(); int button = mouse.getButton(); System.out.println("X: " +x +" Y: " +y +" Button: " +button); } } public void render() { Graphics2D g = (Graphics2D) bs.getDrawGraphics(); tileMap.render(g); g.dispose(); bs.show(); } }
Kod:
import java.awt.event.MouseListener; import java.awt.event.MouseEvent; public class SimpleMouseListener implements MouseListener { private boolean pressed; private int x, y, button; public void mouseClicked(MouseEvent e) {} public void mouseEntered(MouseEvent e) {} public void mouseExited(MouseEvent e) {} public void mousePressed(MouseEvent e) { pressed = true; x = e.getX(); y = e.getY(); button = e.getButton(); } public void mouseReleased(MouseEvent e) { pressed = false; } public boolean isPressed() { return pressed; } public int getX() { return x; } public int getY() { return y; } public int getButton() { return button; } }
TileMap och Tile klasserna använder sig för tillfället inte av min MouseListener så jag har exkluderat dessa.
__________________
Senast redigerad av Lukazon 2013-06-27 kl. 13:42.
Senast redigerad av Lukazon 2013-06-27 kl. 13:42.