> Jeg er ved at lave en Swing-applikation hvor man med
> musen kan klikke på et objekt (JLabel f.eks) i et Panel,
> og så dragge det over på et andet panel, hvor det så skal
> addes og paintes og så videre.
> Men de hersens mouse-motion-listenere virker jo ikke
> når man trækker et objekt udenfor dets ejerpanel, så
> hvad gør man egentlig ? Nogle gode ideer ?
Hmm, jeg er ikke helt skarp i det her, men jeg kan da gætte på noget. :)
Hvis du vil bruge en MouseListener, så virker den faktisk hvis du trækker
den udenfor den komponent, som du har tilføjet MouseListener til. Men f.eks.
værdierne af getX() og getY() på dine MouseEvent kan dog godt blive
negative, hvis du trækker til et komponent enten over eller til venstre for
den komponent hvor MouseListener er tilføjet.
Denne måde kan vel benyttes hvis du ved nøjagtigt hvor dine komponenter er
placeret i forhold til hinanden, hvilket du vil hvis du har sat det op med
et "ordentlig" layout.
En anden løsning, som vel egentlig er den du leder efter, er at tilføje
noget drag and drop, som virker på dit komponent. The Swing Connection har
garanteret nogle artikler om det. Du kan starte din eftersøgning her:
http://java.sun.com/products/jfc/tsc/
Fandt lige den her:
http://java.sun.com/products/jfc/tsc/articles/dragndrop/index.html
Der er vist blevet lavet nogle ændringer i dele hele med udgivelsen af 1.4,
så du vil måske også lige kigge her:
http://java.sun.com/j2se/1.4/docs/guide/swing/1.4/dnd.html
/Carsten