Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
Ebook
/
Informatique
/
JAVA
/
Code
:
MouseDragDemo.java
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; /** Test mouse-dragged */ @SuppressWarnings("serial") public class MouseDragDemo extends JFrame { private int startX, startY, endX, endY; // of a rectangle private JLabel statusBar; // display the status /** Constructor to setup the GUI */ public MouseDragDemo() { // Define an anonymous inner class extends JPanel for custom drawing // and allocate an instance JPanel drawPanel = new JPanel() { @Override public void paintComponent(Graphics g) { super.paintComponent(g); // paint parent's background g.setColor(Color.RED); // drawRect() uses x, y, width and height instead of (x1,y1) and (x2,y2) int x = (startX < endX) ? startX : endX; int y = (startY < endY) ? startY : endY; int width = endX - startX + 1; if (width < 0) width = -width; int height = endY - startY + 1; if (height < 0) height = -height; g.drawRect(x, y, width, height); } }; statusBar = new JLabel(); drawPanel.setLayout(new FlowLayout(FlowLayout.LEFT)); drawPanel.add(statusBar); // Allocate an instance of MyMouseDraggedListener // and used it as MouseListener and MouseMotionListener MyMouseDraggedListener listener = new MyMouseDraggedListener(); drawPanel.addMouseListener(listener); drawPanel.addMouseMotionListener(listener); setContentPane(drawPanel); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setTitle("Mouse-Drag Demo"); setSize(400, 250); setVisible(true); } private class MyMouseDraggedListener extends MouseInputAdapter { @Override public void mousePressed(MouseEvent evt) { startX = evt.getX(); startY = evt.getY(); statusBar.setText("(" + startX + "," + startY + ")"); } @Override public void mouseDragged(MouseEvent evt) { endX = evt.getX(); endY = evt.getY(); statusBar.setText("(" + endX + "," + endY + ")"); repaint(); // Called back paintComponent() } @Override public void mouseReleased(MouseEvent evt) { endX = evt.getX(); endY = evt.getY(); statusBar.setText("(" + endX + "," + endY + ")"); repaint(); // Called back paintComponent() } } /** The entry main method */ public static void main(String[] args) { // Run GUI codes on the Event-Dispatching thread for thread safety SwingUtilities.invokeLater(new Runnable() { @Override public void run() { new MouseDragDemo(); // Let the constructor do the job } }); } }