package pallina; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.MouseMotionListener; import javax.swing.JPanel; public class JCoordinate extends JPanel implements MouseMotionListener, MouseListener { private int x = 0, y = 0; public JCoordinate() { this.setPreferredSize(new Dimension(100, 100)); this.addMouseMotionListener(this); this.addMouseListener(this); } @Override protected void paintComponent(Graphics g) { super.paintComponent(g); int w = this.getWidth(); int h = this.getHeight(); g.setColor(Color.LIGHT_GRAY); g.fillRect(0, 0, w, h); g.setColor(Color.BLACK); g.drawString("(" + x + "," + y + ")", x, y); } @Override public void mouseDragged(MouseEvent me) { } @Override public void mouseMoved(MouseEvent me) { x = me.getX(); y = me.getY(); this.repaint(); } @Override public void mouseClicked(MouseEvent e) { JPanel box = new JPanel(); box.setSize(5, 5); box.setLocation(x, y); box.setBackground(Color.RED); box.setVisible(true); this.add(box); this.repaint(); } @Override public void mouseEntered(MouseEvent e) { } @Override public void mouseExited(MouseEvent e) { } @Override public void mousePressed(MouseEvent e) { } @Override public void mouseReleased(MouseEvent e) { } }