Drag n Drop bounds through DragManager

I am using a set of TextInput controls in a Box. These can be
dragged to change the positions. I need to be able to specify the
bounds on dragging so that these can't be dragged outside of the
Box container. Not even the feedback icon and proxyImage to be
shown once the mouse goes out.
I don't want to drag the original control using startDrag()
function because it moves the actual component behind others which
were added later to the box. Something like Proxy is fine but I
need the bounds on it.
I am using DragManager but can't find an API to do this. I
tried in smartGWT and they have a nice API like
keepInParentRect(true) which will do this job. I am sure Flex would
have something similar which i don't know.
Can somebody help?
Thanks,
- Zeeshan

Quite strange to notice that flex API is missing specifying a
boundary to DragManager. It is very practical that I want to keep
the proxy in a specific bounds but can't do that in current API.
Yes, startDrag(..) function provides boundaries but lacks the
functionality of what DragManager provides.
- Zeeshan

Similar Messages

  • Clear Drag and Drop On Enter

    Does anyone know if there is a way to reset a drag and drop interaction through an On Enter action?
    Here's the need:
    The learner does the drag and drop interaction.
    They continue through the rest of the module.
    They choose to restart the module with everything cleared out.
    Right Now:  They get to the slide with the drag and drop interaction and the previous answers are there.
    What I Need: They get to the slide and the drag and drop interaction is back to its original state.
    Is this possible? If so, does anyone know how to do it (without the learner having to click Reset?)
    Any help would be appreciated.
    Thanks!

    Thanx. I tried with the different overloaded startDrag() which allows an image to be set.
    As my requirement is such that I do not want any image to be shown aruond next to cursor, so I set Image field to null.
    On windows it does not show any block (Image) but on Mac it does :(.

  • I need to play a song on a Keynote presentation, how do I do this ? I use to drag and drop the mp3 in Keynote but it stops playing when the slide move to the other one... how can I make the song keep playing through the whole presentation ? Thanks.

    I need to play a song in a row in a Keynote presentation, how do I do this ? I use to drag and drop the mp3 in Keynote but it stops playing when the slide move to the other one... how can I make the song keep playing through out the presentation ?
    Thanks.

    Drag the file into the audio window in the Document inspector...

  • Drag and drop a bounded task flow in a jspx page

    Hi!!
    I am using jdeveloper 11.1.2.1 I had created a Bounded task flow which contains a jsff
    page.While i am trying to drag and drop this Bounded task flow as a region in jspx page
    am getting the error as
    Cannot create a region from a taskflow containing facelets fragements in a
    jspx page.

    see the difference between JSP XML documents and Facelets-
    http://oracleadf-java.blogspot.in/2013/05/beauty-of-adf-taskflow-difference-bw.html
    both are different view technology.
    Always Remember if
    fragment is .jsff (JspXML type)-- main page must be of JSP XML type (.jspx )
    fragment is .jsff (Facelets typee)-- main page must be of Facelets type (.JSF)
    _Ashish

  • Making simple Cross desolves at the end of still photo clips from my library. Not making a clean disolve beteen. Single frames from the previous clip are flashing half way through the desolve. Did both a drag and drop and insert disolve.

    Making simple cross desolves at the end of still photo clips from my library.
    Not making a clean disolve between clips.
    Single frames from the previous clip are flashing half way through the desolve.
    Did both a drag and drop and insert disolve.

    Making simple cross desolves at the end of still photo clips from my library.
    Not making a clean disolve between clips.
    Single frames from the previous clip are flashing half way through the desolve.
    Did both a drag and drop and insert disolve.

  • When I try to drag and drop song into my ipod I get a black circle with a diagonal line through it?

    Im trying to drag and drop songs from a new playlist that I have created but a black circle with a line through it appears meaning it wont allow me to put this song onto my ipod. I cant drag and drop any songs! ITUNES IS A NIGHTMARE TO WORK WITH AND IS NO WAY USER FRIENDLY - I HATE IT!!!!

    It sounds like you are trying to manually manage the iPod's contents. If that's the case, make sure the Manually manage music and videos option is enabled from under your iPod's Summary tab.  See this article for more information.
    Managing content manually on iPhone, iPad, and iPod
    B-rock

  • Mail doesn't attach files through dragging and dropping the files!

    Help please,
    Mail doesn't attach files through dragging and dropping the files on OS X ML, it crashes for a while !!

    Open Disk Utility and Repair disk permissions on the First Aid tab.
    Then, Restart and boot into Recovery Mode by holding down cmd-r on restart until you see a gray screen. When the Mac boots, you will be presented with some options. Choose Disk Utility and select your Hard drive volume (Macintosh HD is the default name). Then, on the First Aid tab, click Repair Disk (not permissions).
    If that doesn't help, you could try installing the 10.8.2 combo updater from the Apple Downloads site:
    http://support.apple.com/kb/DL1581

  • I can no longer drag and drop a website onto my desktop.  NOW I have to go through hoops to get anything I want onto my desktop !  this *****

    I had Leopard.  I jumped to Mountain Lion.  Sorry sorry sorry I did.   Many things are stupidly difficult to do, minor tasks, that once were EASY.
    I USED to be able to go onto a website, then DRAG AND DROP the ICON from it ONTO my desktop.  NO MORE.   Frankly, there is NOW no easy way that I've found ..........May I also say, Mountain Lion is one horrendous piece of ........##@@!!!.   I gave my old iMac to a friend after upgrading it for her...with Mountain Lion.   I wish to God I'd not tormented her with that OSX.  I wish to God I'd not tormented myself with it on my own iMac.
    Someone tell me......there MUST be an easy way to Drag/drop a website to my desktop for regular use???  IF NOT, we have YET another glitch on this stupid OSX.
    I have 10.8.2.  2.5GHz Intel Core i5  4GB  21.5 screen  (2011)

    I realize my post made me appear UNcalm.  Sorry.  I am rather irritated by this and have been.
    When I now go to any website, I can only go on it by clicking FULL page.  In other words, I can get to it by 2 ways, by putting it into the "google" bar, or by FULL screening to type in http....www....etc.
    I am then in Full screen to access any website.  THEN,   I can no longer drag/drop the website's Icon to my desktop.......If I diminish, I lose the website.  It may bring up the same site, but will not let me drag the site's icon ONTO my desktop to use in the future.
    That seems to have disappeared with Mountain Lion.  I was able to do it with ease on Leopard.
    Repeat:
    In Leopard, I would go to a website and could drag that website's icon ONTO my desktop.  Period.
    I am no longer able to do this with Mountain Lion.
    If I try to drag anything, NOTHING happens OTHER than it replicates the page...it does not place an icon on my desktop to use in the future.
    I am CALM.  I AM frustrated.

  • Drag and drop option for hierarchy through Web Template

    Hi All,
    I have 2 hierarchies in one report. For example Product Hierarchy and Customer hierarchy. I would like to have an option in query where I can select the node from each hierarchy and the report is displayed only for the selected node/nodes. I am using Web Template. I used "Hierarchy filter" web item and was able to achieve this. But I would like to have a drag and drop option.
    I mean when I use Hierarchy filter web item, I have to select the particular node in the hierarchy. and then the report (Web Item - Table) is displayed based on the selection. But I would like to drag the node from the hierarchy and drop it to the report (Web Item - Table) and the report is displayed for the selected hierarchy node.
    Is this possible? How? Do I have to write any Java code or we can achieve this with BI Standard functionality.
    Regards.
    Parin Gandhi.

    This is not possible using Standard BI web functionality.
    If you are an expert with JavaScript and BI Web APIs you can probably write JS code to do this.

  • Drag and drop does not work in Exported release build

    I am using the built in DragManager class to handle some drag and drop functionality in an application.  When running from flex builder, It runs exactly as expected, but when I export the project to a release build, Dragging only works in the vertical direction.  How is this possible?  What might be causing such strange behavior.
    Any help would be much appreciated.

    Sorry, I will try to be more clear.  I am using drag and drop simply to move items around on a Canvas.  This works perfectly when running from flex builder, but when i export a release build it starts behaving strangely.
    I can drag items up or down on the canvas no problem, but as soon as I try to drag items left or right, there is no response.  On a windows machine, it gives me the black circle with a slash through it icon, implying that the drag is not accepted.  On Mac, there is no icon, it simply will not drag. 
    Hope that clarifies it, I could really use some help figuring this issue out.
    Update:
    I can confirm that the call to DragManager.acceptDragDrop is being reached in both cases, but the DragEvent.DRAG_DROP event is not being handled in the release build, (it is reached when run from flex builder)

  • Drag and drop JButtons between JPanels

    I'm trying to write an application with some simple drag and drop for JButtons between JPanels. Instead of going through all the hassle with DragSourceListener, DropTargetListener etc, I was thinking about a simple MouseMotionListener which sets a boolean to true when the user is dragging, and let the other panel add a MouseListener which listens for a MouseReleased.
    The drag part is working fine, however the drop is not; in fact, it doesn't register the release. However, when I click and release, it seems to register the release.
    Any suggestions? Thanks in advance.
    Code for Card:
    public Card extends JButton {
    public static boolean drag = false;
         public Card(ImageIcon icon, ImageIcon fullicon)
              addMouseMotionListener(new DragMouseListener());
         class DragMouseListener extends MouseMotionAdapter
              public void mouseDragged(MouseEvent e)
                   System.out.println("Drag register");
                   drag = true;
    }Code for the panel:
    benchpanel.addMouseListener(new MouseAdapter() {
         public void mouseReleased(MouseEvent e)
              if (Card.drag && GUI.getInstance().findComponentAt(e.getPoint()) == GUI.getInstance().benchpanel)
                   System.out.println("Drop registered");
              Card.drag = false;
    });

    Sorry for the double post. I had some experimenting done, and I come up with the following:
    if (Card.drag && GUI.getInstance().benchpanel.getBounds().contains(e.getLocationOnScreen()))
         System.out.println("Drop registered");
    }Here's the problem: The second part of the if-statement never seems to get true; if I write the following:
    System.out.println(e.getPoint());
    System.out.println(benchpanel.getBounds());
    System.out.println(benchpanel.getBounds().contains(e.getPoint()));and i click in the upper left part of the JPanel, i get the following output:
    java.awt.Point[x=9,y=13]
    java.awt.Rectangle[x=210,y=420,width=400,height=108]
    false- so for some reason, the bounds on the JPanel are totally messed up - any ideas on why?
    Edited by: pg-robban on Apr 14, 2009 3:14 AM

  • Drag and Drop an image

    Can anyone recommend me a good tutorial on how to drag and drop or even resize an image in a panel ?

    I'm back.
    I wrote a 2 classes appli that allow to move and resize images displayed in a panel.
    The first class is the most interesting one. It describes an object which extends Rectangle and manage an Image. This class names TransformableImage extends Rectangle because we need to know the bounds of the rectangle, where the image is contained in, to allow mouse interactions through the panel.
    The behavior we want is to change the kind of cursors according to the position of the mouse on the panel :
    if the mouse is out of any images the cursor is the default one. If the cursor is on an image, it can be a move cursor in the center of the image or one of the resize cursors if the mouse is on the border of the image.
    Here is the class :
    import java.awt.*;
    import javax.swing.*;
    import java.awt.image.*;
    public final class TransformableImage extends Rectangle {
         public static final int MOVE = 0;
         public static final int RESIZE_TOP = 10;
         public static final int RESIZE_BOTTOM = 20;
         public static final int RESIZE_RIGHT = 1;
         public static final int RESIZE_LEFT = 2;
         public static final int RESIZE_TOP_RIGHT_CORNER = 11;
         public static final int RESIZE_TOP_LEFT_CORNER = 12;
         public static final int RESIZE_BOTTOM_RIGHT_CORNER = 21;
         public static final int RESIZE_BOTTOM_LEFT_CORNER = 22;
         public static final int BORDER_THICKNESS = 5;
         public static final int MIN_THICKNESS = BORDER_THICKNESS*2;
         private static final Color borderColor = Color.black;
         private Image image;
         * Create an TransformableImage from the image file filename.
         * The TransformableImage bounds (inherited from the class Rectangle) are setted to the corresponding values.
         public TransformableImage(String filename) {
              ImageIcon ic = new ImageIcon(filename);
              image = ic.getImage();
              setBounds(0,0,ic.getIconWidth(), ic.getIconHeight());
         * Draw the image rescaled to fit the bounds.
         * A black rectangle is drawn around the image.
         public final void draw(Graphics2D g, ImageObserver observer) {
              Color oldColor = g.getColor();
              g.setColor(borderColor);
              g.drawImage(image, x, y, width, height, observer);
              g.draw(this);
              g.setColor(oldColor);
         * Return an int corresponding to the transformation available according to the mouse location on the image.
         * If the point p is in the border, with a thickness of BORDER_THICKNESS, around the image, the corresponding
         * transformation is returned (RESIZE_TOP, ..., RESIZE_BOTTOM_LEFT_CORNER).
         * If the point p is located in the center of the image (i.e. out of the border), the MOVE transformation is returned.
         * We allways suppose that p is contained in the image bounds.
         public final int getTransformation(Point p) {
              int px = p.x;
              int py = p.y;
              int transformation = 0;
              if (py<(y+BORDER_THICKNESS)) {
                   transformation += RESIZE_TOP;
              else
              if (py>(y+height-BORDER_THICKNESS-1)) {
                   transformation += RESIZE_BOTTOM;
              if (px<(x+BORDER_THICKNESS)) {
                   transformation += RESIZE_LEFT;
              else
              if (px>(x+width-BORDER_THICKNESS-1)) {
                   transformation += RESIZE_RIGHT;
              return(transformation);
         * Move the left side of the image, verifying that the width is > to the MIN_THICKNESS.
         public final void moveX1(int px) {
              int x1 = x+width;
              if (px>x1-MIN_THICKNESS) {
                   x = x1-MIN_THICKNESS;
                   width = MIN_THICKNESS;
              else {
                   width += (x-px);
                   x = px;               
         * Move the right side of the image, verifying that the width is > to the MIN_THICKNESS.
         public final void moveX2(int px) {
              width = px-x;
              if (width<MIN_THICKNESS) {
                   width = MIN_THICKNESS;
         * Move the top side of the image, verifying that the height is > to the MIN_THICKNESS.
         public final void moveY1(int py) {
              int y1 = y+height;
              if (py>y1-MIN_THICKNESS) {
                   y = y1-MIN_THICKNESS;
                   height = MIN_THICKNESS;
              else {
                   height += (y-py);
                   y = py;               
         * Move the bottom side of the image, verifying that the height is > to the MIN_THICKNESS.
         public final void moveY2(int py) {
              height = py-y;
              if (height<MIN_THICKNESS) {
                   height = MIN_THICKNESS;
         * Apply a given transformation with the given Point to the image.
         * The shift values dx and dy are needed for move tho locate the image at the same relative position from the cursor (p).
         public final void transform(Point p, int transformationType, int dx, int dy) {
              int px = p.x;
              int py = p.y;
              switch (transformationType) {
                   case MOVE : x = px-dx; y = py-dy;
                        break;
                   case RESIZE_TOP : moveY1(py);
                        break;
                   case RESIZE_BOTTOM : moveY2(py);
                        break;
                   case RESIZE_LEFT : moveX1(px);
                        break;
                   case RESIZE_RIGHT : moveX2(px);
                        break;
                   case RESIZE_TOP_LEFT_CORNER : moveX1(px);moveY1(py);
                        break;
                   case RESIZE_TOP_RIGHT_CORNER : moveX2(px);moveY1(py);
                        break;
                   case RESIZE_BOTTOM_LEFT_CORNER : moveX1(px);moveY2(py);
                        break;
                   case RESIZE_BOTTOM_RIGHT_CORNER : moveX2(px);moveY2(py);
                        break;
                   default :
    }And now, we need to create the panel where we are going to draw the images and interact with them with the mouse. In fact we need a paintComponent method used to draw the images and a Mouse(Motion)Listener to manage the required mouse events.
    We also have to create a method to set the convenient cursor according to tha position of the mouse over the images.
    Here is the class :
    import java.util.*;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;
    public class ImagePanel extends JComponent {
         private static final Cursor DEFAULT_CURSOR = new Cursor(Cursor.DEFAULT_CURSOR);
         private static final Cursor MOVE_CURSOR = new Cursor(Cursor.MOVE_CURSOR);
         private static final Cursor VERTICAL_RESIZE_CURSOR = new Cursor(Cursor.N_RESIZE_CURSOR);
         private static final Cursor HORIZONTAL_RESIZE_CURSOR = new Cursor(Cursor.W_RESIZE_CURSOR);
         private static final Cursor NW_SE_RESIZE_CURSOR = new Cursor(Cursor.NW_RESIZE_CURSOR);
         private static final Cursor NE_SW_RESIZE_CURSOR = new Cursor(Cursor.NE_RESIZE_CURSOR);
         public Vector images;
         * Create an ImagePanel with two images in.
         * A MouseHandler instance is added as mouse listener and mouse motion listener.
         public ImagePanel() {
              images = new Vector();
              images.add(new TransformableImage("image1.gif"));
              images.add(new TransformableImage("image2.gif"));
              setPreferredSize(new Dimension(600,600));
              MouseHandler mh = new MouseHandler();
              addMouseListener(mh);
              addMouseMotionListener(mh);
         * Simply paint all the images contained in the Vector images, calling their method draw(Graphics2D, ImageObserver).
         public void paintComponent(Graphics g) {
              Graphics2D g2D = (Graphics2D)g;
              for (int i = images.size()-1; i>=0; i--) {     
                   ((TransformableImage)images.get(i)).draw(g2D, this);
         * Inner class defining the behavior of the mouse.
         final class MouseHandler extends MouseInputAdapter {
              private TransformableImage draggedImage;
              private int transformation;
              private int dx, dy;
              public void mouseMoved(MouseEvent e) {
                   Point p = e.getPoint();
                   TransformableImage image = getImageAt(p);
                   if (image != null) {
                        transformation = image.getTransformation(p);
                        setConvenientCursor(transformation);
                   else {
                        setConvenientCursor(-1);
              public void mousePressed(MouseEvent e) {
                   Point p = e.getPoint();
                   draggedImage = getImageAt(p);
                   if (draggedImage!=null) {
                        dx = p.x-draggedImage.x;
                        dy = p.y-draggedImage.y;
              public void mouseDragged(MouseEvent e) {
                   if (draggedImage==null) {
                        return;
                   Point p = e.getPoint();
                   repaint(draggedImage.x,draggedImage.y,draggedImage.width+1,draggedImage.height+1);
                   draggedImage.transform(p, transformation,dx,dy);
                   repaint(draggedImage.x,draggedImage.y,draggedImage.width+1,draggedImage.height+1);
              public void mouseReleased(MouseEvent e) {
                   Point p = e.getPoint();
                   draggedImage = null;
         * Utility method used to get the image located at a Point p.
         * Returns null if there is no image at this point.
         private final TransformableImage getImageAt(Point p) {
              TransformableImage image = null;
              for (int i = 0, n = images.size(); i<n; i++) {     
                   image = (TransformableImage)images.get(i);
                   if (image.contains(p)) {
                        return(image);
              return(null);
         * Sets the convenient cursor according the the transformation (i.e. the position of the mouse over the image).
         private final void setConvenientCursor(int transfo) {
              Cursor currentCursor = getCursor();
              Cursor newCursor = null;
              switch (transfo) {
                   case TransformableImage.MOVE : newCursor = MOVE_CURSOR;
                        break;
                   case TransformableImage.RESIZE_TOP : newCursor = VERTICAL_RESIZE_CURSOR;
                        break;
                   case TransformableImage.RESIZE_BOTTOM : newCursor = VERTICAL_RESIZE_CURSOR;
                        break;
                   case TransformableImage.RESIZE_LEFT : newCursor = HORIZONTAL_RESIZE_CURSOR;
                        break;
                   case TransformableImage.RESIZE_RIGHT : newCursor = HORIZONTAL_RESIZE_CURSOR;
                        break;
                   case TransformableImage.RESIZE_TOP_LEFT_CORNER : newCursor = NW_SE_RESIZE_CURSOR;
                        break;
                   case TransformableImage.RESIZE_TOP_RIGHT_CORNER : newCursor = NE_SW_RESIZE_CURSOR;
                        break;
                   case TransformableImage.RESIZE_BOTTOM_LEFT_CORNER : newCursor = NE_SW_RESIZE_CURSOR;
                        break;
                   case TransformableImage.RESIZE_BOTTOM_RIGHT_CORNER : newCursor = NW_SE_RESIZE_CURSOR;
                        break;
                   default : newCursor = DEFAULT_CURSOR;
              if (newCursor != null && currentCursor != newCursor) {
                   setCursor(newCursor);
         public static void main(String[] args) {
              JFrame frame = new JFrame("Test transformable images");
              frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              frame.getContentPane().add(new ImagePanel(), BorderLayout.CENTER);
              frame.pack();
              frame.setVisible(true);
    }If you want more information tell me.
    ------- Here is the unformatted version -----
    import java.awt.*;
    import javax.swing.*;
    import java.awt.image.*;
    public final class TransformableImage extends Rectangle {
         public static final int MOVE = 0;
         public static final int RESIZE_TOP = 10;
         public static final int RESIZE_BOTTOM = 20;
         public static final int RESIZE_RIGHT = 1;
         public static final int RESIZE_LEFT = 2;
         public static final int RESIZE_TOP_RIGHT_CORNER = 11;
         public static final int RESIZE_TOP_LEFT_CORNER = 12;
         public static final int RESIZE_BOTTOM_RIGHT_CORNER = 21;
         public static final int RESIZE_BOTTOM_LEFT_CORNER = 22;
         public static final int BORDER_THICKNESS = 5;
         public static final int MIN_THICKNESS = BORDER_THICKNESS*2;
         private static final Color borderColor = Color.black;
         private Image image;
         * Create an TransformableImage from the image file filename.
         * The TransformableImage bounds (inherited from the class Rectangle) are setted to the corresponding values.
         public TransformableImage(String filename) {
              ImageIcon ic = new ImageIcon(filename);
              image = ic.getImage();
              setBounds(0,0,ic.getIconWidth(), ic.getIconHeight());
         * Draw the image rescaled to fit the bounds.
         * A black rectangle is drawn around the image.
         public final void draw(Graphics2D g, ImageObserver observer) {
              Color oldColor = g.getColor();
              g.setColor(borderColor);
              g.drawImage(image, x, y, width, height, observer);
              g.draw(this);
              g.setColor(oldColor);
         * Return an int corresponding to the transformation available according to the mouse location on the image.
         * If the point p is in the border, with a thickness of BORDER_THICKNESS, around the image, the corresponding
         * transformation is returned (RESIZE_TOP, ..., RESIZE_BOTTOM_LEFT_CORNER).
         * If the point p is located in the center of the image (i.e. out of the border), the MOVE transformation is returned.
         * We allways suppose that p is contained in the image bounds.
         public final int getTransformation(Point p) {
              int px = p.x;
              int py = p.y;
              int transformation = 0;
              if (py<(y+BORDER_THICKNESS)) {
                   transformation += RESIZE_TOP;
              else
              if (py>(y+height-BORDER_THICKNESS-1)) {
                   transformation += RESIZE_BOTTOM;
              if (px<(x+BORDER_THICKNESS)) {
                   transformation += RESIZE_LEFT;
              else
              if (px>(x+width-BORDER_THICKNESS-1)) {
                   transformation += RESIZE_RIGHT;
              return(transformation);
         * Move the left side of the image, verifying that the width is > to the MIN_THICKNESS.
         public final void moveX1(int px) {
              int x1 = x+width;
              if (px>x1-MIN_THICKNESS) {
                   x = x1-MIN_THICKNESS;
                   width = MIN_THICKNESS;
              else {
                   width += (x-px);
                   x = px;               
         * Move the right side of the image, verifying that the width is > to the MIN_THICKNESS.
         public final void moveX2(int px) {
              width = px-x;
              if (width<MIN_THICKNESS) {
                   width = MIN_THICKNESS;
         * Move the top side of the image, verifying that the height is > to the MIN_THICKNESS.
         public final void moveY1(int py) {
              int y1 = y+height;
              if (py>y1-MIN_THICKNESS) {
                   y = y1-MIN_THICKNESS;
                   height = MIN_THICKNESS;
              else {
                   height += (y-py);
                   y = py;               
         * Move the bottom side of the image, verifying that the height is > to the MIN_THICKNESS.
         public final void moveY2(int py) {
              height = py-y;
              if (height<MIN_THICKNESS) {
                   height = MIN_THICKNESS;
         * Apply a given transformation with the given Point to the image.
         * The shift values dx and dy are needed for move tho locate the image at the same relative position from the cursor (p).
         public final void transform(Point p, int transformationType, int dx, int dy) {
              int px = p.x;
              int py = p.y;
              switch (transformationType) {
                   case MOVE : x = px-dx; y = py-dy;
                        break;
                   case RESIZE_TOP : moveY1(py);
                        break;
                   case RESIZE_BOTTOM : moveY2(py);
                        break;
                   case RESIZE_LEFT : moveX1(px);
                        break;
                   case RESIZE_RIGHT : moveX2(px);
                        break;
                   case RESIZE_TOP_LEFT_CORNER : moveX1(px);moveY1(py);
                        break;
                   case RESIZE_TOP_RIGHT_CORNER : moveX2(px);moveY1(py);
                        break;
                   case RESIZE_BOTTOM_LEFT_CORNER : moveX1(px);moveY2(py);
                        break;
                   case RESIZE_BOTTOM_RIGHT_CORNER : moveX2(px);moveY2(py);
                        break;
                   default :
    import java.util.*;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;
    public class ImagePanel extends JComponent {
         private static final Cursor DEFAULT_CURSOR = new Cursor(Cursor.DEFAULT_CURSOR);
         private static final Cursor MOVE_CURSOR = new Cursor(Cursor.MOVE_CURSOR);
         private static final Cursor VERTICAL_RESIZE_CURSOR = new Cursor(Cursor.N_RESIZE_CURSOR);
         private static final Cursor HORIZONTAL_RESIZE_CURSOR = new Cursor(Cursor.W_RESIZE_CURSOR);
         private static final Cursor NW_SE_RESIZE_CURSOR = new Cursor(Cursor.NW_RESIZE_CURSOR);
         private static final Cursor NE_SW_RESIZE_CURSOR = new Cursor(Cursor.NE_RESIZE_CURSOR);
         public Vector images;
         * Create an ImagePanel with two images in.
         * A MouseHandler instance is added as mouse listener and mouse motion listener.
         public ImagePanel() {
              images = new Vector();
              images.add(new TransformableImage("image1.gif"));
              images.add(new TransformableImage("image2.gif"));
              setPreferredSize(new Dimension(600,600));
              MouseHandler mh = new MouseHandler();
              addMouseListener(mh);
              addMouseMotionListener(mh);
         * Simply paint all the images contained in the Vector images, calling their method draw(Graphics2D, ImageObserver).
         public void paintComponent(Graphics g) {
              Graphics2D g2D = (Graphics2D)g;
              for (int i = images.size()-1; i>=0; i--) {     
                   ((TransformableImage)images.get(i)).draw(g2D, this);
         * Inner class defining the behavior of the mouse.
         final class MouseHandler extends MouseInputAdapter {
              private TransformableImage draggedImage;
              private int transformation;
              private int dx, dy;
              public void mouseMoved(MouseEvent e) {
                   Point p = e.getPoint();
                   TransformableImage image = getImageAt(p);
                   if (image != null) {
                        transformation = image.getTransformation(p);
                        setConvenientCursor(transformation);
                   else {
                        setConvenientCursor(-1);
              public void mousePressed(MouseEvent e) {
                   Point p = e.getPoint();
                   draggedImage = getImageAt(p);
                   if (draggedImage!=null) {
                        dx = p.x-draggedImage.x;
                        dy = p.y-draggedImage.y;
              public void mouseDragged(MouseEvent e) {
                   if (draggedImage==null) {
                        return;
                   Point p = e.getPoint();
                   repaint(draggedImage.x,draggedImage.y,draggedImage.width+1,draggedImage.height+1);
                   draggedImage.transform(p, transformation,dx,dy);
                   repaint(draggedImage.x,draggedImage.y,draggedImage.width+1,draggedImage.height+1);
              public void mouseReleased(MouseEvent e) {
                   Point p = e.getPoint();
                   draggedImage = null;
         * Utility method used to get the image located at a Point p.
         * Returns null if there is no image at this point.
         private final TransformableImage getImageAt(Point p) {
              TransformableImage image = null;
              for (int i = 0, n = images.size(); i<n; i++) {     
                   image = (TransformableImage)images.get(i);
                   if (image.contains(p)) {
                        return(image);
              return(null);
         * Sets the convenient cursor according the the transformation (i.e. the position of the mouse over the image).
         private final void setConvenientCursor(int transfo) {
              Cursor currentCursor = getCursor();
              Cursor newCursor = null;
              switch (transfo) {
                   case TransformableImage.MOVE : newCursor = MOVE_CURSOR;
                        break;
                   case TransformableImage.RESIZE_TOP : newCursor = VERTICAL_RESIZE_CURSOR;
                        break;
                   case TransformableImage.RESIZE_BOTTOM : newCursor = VERTICAL_RESIZE_CURSOR;
                        break;
                   case TransformableImage.RESIZE_LEFT : newCursor = HORIZONTAL_RESIZE_CURSOR;
                        break;
                   case TransformableImage.RESIZE_RIGHT : newCursor = HORIZONTAL_RESIZE_CURSOR;
                        break;
                   case TransformableImage.RESIZE_TOP_LEFT_CORNER : newCursor = NW_SE_RESIZE_CURSOR;
                        break;
                   case TransformableImage.RESIZE_TOP_RIGHT_CORNER : newCursor = NE_SW_RESIZE_CURSOR;
                        break;
                   case TransformableImage.RESIZE_BOTTOM_LEFT_CORNER : newCursor = NE_SW_RESIZE_CURSOR;
                        break;
                   case TransformableImage.RESIZE_BOTTOM_RIGHT_CORNER : newCursor = NW_SE_RESIZE_CURSOR;
                        break;
                   default : newCursor = DEFAULT_CURSOR;
              if (newCursor != null && currentCursor != newCursor) {
                   setCursor(newCursor);
         public static void main(String[] args) {
              JFrame frame = new JFrame("Test transformable images");
              frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              frame.getContentPane().add(new ImagePanel(), BorderLayout.CENTER);
              frame.pack();
              frame.setVisible(true);
    Denis

  • Drag and Drop (re-order) Thumbnails in Organizer

    I am using Photoshop Elements version 5.0.2
    I would like to re-order pictures in an order that will make sense for me in my business. I suppose I can go through each pix and change the time on them, so I can then sort by time stamp.
    Is there an easier way to do this? I was hopeful that I could drag and drop them in Thumbnail view - but I cannot.
    Thank you,
    Jamie

    >Is there anyway to delete the photos in the main well, without losing them from my collection?
    As I understand the design, the main well is intended to be all the photos that you are managing with Photoshop Elements.
    Collections are used to display a specific group of those photos in your chosen sequence for any given activity.
    I suspect that since you are using a consumer product such as Photoshop Elements for your business purpose, you may need to make some compromises like having a default (the main photo well) display sequence which you see first when starting PSE that is not what you would choose.
    This is not bad if PSE does what you want - just additional steps to switch to the Collection view and also to maintain (drag and drop) the sequencing of the collection when you add additional photo files to a Collection.

  • Drag and drop podcasts do not show up under "podcasts" heading

    When I manually drag and drop a downloaded podcast into my Ipod, these do not show up in ITunes under the "podcasts" category. When I look at the Ipod display, it show the podcast is actually on the device, even though ITunes does not show it. I can not browse through the ITunes listings to find the missing podcasts since the only other category available in the left-hand menu is "music" and this does not show podcast as an option for genre. How can I display and delete podcasts after I have listened to them? Hows can I see what is actually on my Ipod using ITunes.

    Only episodes downloaded with iTunes will go into podcast section even if genre is set to podcast. Doesn't matter if it is singles episode download or using subscription.
    Episodes downloaded with browser will go into music section. Depending on tag info they can then be found using genre, artist, or album search.
    Somebody, awhile ago, found the difference in files using a hex editor. They were successful in moving the direct download file to the podcast section.

  • Visual Studio opening files when dragged and dropped in WPF app debugging session

    I'm working on a WPF app (using VS2013 CE) which is intended to manage media files (TV Shows, movies, etc) and as part of this I am enabling the user to drag and drop media files on to the running app (by adding AllowDrop="True" and PreviewDragEnter="Window_PreviewDragEnter"
    to my Window definition).
    The problem I have is that when I drag files onto the app in a debugging session Visual Studio then opens the file(s) when I stop debugging... this is seriously annoying as when I am testing with large media files (> 1GB) it just locks up VS for minutes
    at a time while it tries to open the file or files. When I run the app outside the debugger this does not happen - it's only when I'm in a VS debugging session.  The only way I can stop this happening is to kill VS completely from Task Manager then restart
    it - this is also very annoying but often I need to do this as it will freeze up for 5-10 minutes while it insists on loading the files in VS.
    I understand the app, whilst debugging, is running in the context of VS but why does VS then have to try to open the files when debugging is finished?   I have looked through the options but can't see anything to switch this off and no amount of searching
    has turned up anything - can anyone put me out of my misery with a solution to this annoying issue?

    Hello nzmike,
    Does Visual Studio behaves like the following image shows and just hangs when opening your media file?
    Do you have any other computer which installs Visual Studio? Can you reproduce this on it?
    In order to troubleshoot this issue I think we need to locate the root reason of your issue. The problem can related to the following:
    1. Your project is corrupt and VS then trys to load that file when debug finished.
    2. Your VS is corrupt and caused this problem.
    So please do something below:
    1. Try clean and rebuild your project.
    2. Switch to some other PCs and use VS and your project there, check if the problem can be reproduced.
    3. You can backup your VS setting and try some commands: devenv /resetsettings and devenv /resetuserdata
    Details about VS command:https://msdn.microsoft.com/en-us/library/xee0c8y7.aspx
    And based on th research of the above second step, if you can reproduce this issue on more than one PC, the problem is pending on your project and I need you to share a simple sample which can reproduce this issue. We will need to investigate the project
    in detail.
    Best regards,
    Barry
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

Maybe you are looking for