import javax.swing.*;
import java.awt.*;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.RenderingHints;
import java.awt.event.*;
import java.awt.font.FontRenderContext;
public class Mousedragg extends javax.swing.JApplet {
public void init() {
Container cont = getContentPane();
cont.setLayout(new BorderLayout());
setPreferredSize(new Dimension(300, 300));
JScrollPane scroll = new JScrollPane();
getContentPane().add(scroll, BorderLayout.CENTER);
scroll.getViewport().add(new Imagepanel());
}
private class Imagepanel extends JPanel implements MouseListener,MouseMotionListener
{
Imagepanel image;
JScrollPane scroll = new JScrollPane();
boolean selected= false;
boolean selected1= false;
private boolean canDrag = false;
int x,y,w,h;
Rectangle r = new Rectangle(x,y,w,h);
Imagepanel()
{
setPreferredSize(new Dimension(32910, 32710));
scroll = new JScrollPane();
add(scroll);
addMouseListener(this);
addMouseMotionListener(this);
Imagepanel imagepanel ;
}
protected void paintComponent(Graphics g)
{
Graphics2D g2 = (Graphics2D)g;
x= 40;
y =20;
w = 15;
h =10;
for(int i=0;i<5;i++)
{
g2.fillRect(x,y,w,h);
g2.fill(r);
x +=30;
}
}
public void mouseClicked(MouseEvent e)
{
}
private void imagePaneMouseClicked(MouseEvent e)
{
Point p = e.getPoint();
if(r.contains(p))
{
if(!selected)
{
canDrag = true;
repaint();
}
}
}
public void mousePressed(MouseEvent e)
{
imagePaneMouseClicked(e);
}
public void mouseDragged(MouseEvent e)
{
Point p = e.getPoint();
if(canDrag == true)
{
int x = e.getX();
int y = e.getY();
int w = (int)r.getHeight();
r.setLocation(x,y);
repaint();
}
}
public void mouseMoved(MouseEvent e)
{
}
public void mouseReleased(MouseEvent e) {
canDrag = false;
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
}
}