import java.awt.event.MouseEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseListener; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Rectangle; import javax.swing.JPanel; /** Un pannello con rettangolo visualizza un rettangolo che puo' essere spostato dall'utente premendo il pulsante del mouse */ public class RectanglePanel extends JPanel { public RectanglePanel(int width, int height, int pos_x, int pos_y, int b_width, int b_height) { setPreferredSize(new Dimension(width, height)); box = new Rectangle(pos_x, pos_y, b_width, b_height); // ricevitore di eventi class MousePressListener extends MouseAdapter { public void mousePressed(MouseEvent event) { int x = event.getX(); int y = event.getY(); box.setLocation(x,y); repaint(); } } MouseListener listener = new MousePressListener(); addMouseListener(listener); } public void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2 = (Graphics2D)g; g2.draw(box); } private Rectangle box; }