I have a JList and want users to rearrange the elements in the list using drag-n-drop . My own list of Models and Listsell Renderers, if there is a difference, what things do I need to make, and how do I take action?
Modified public balance answer:
public class DndTest JFrame {JList & Lt; String & gt; My list; DefaultListModel & LT; String & gt; MyListModel; Public DndTest () {myListModel = createStringListModel (); MyList = new JList & lt; String & gt; (MyListModel); MyMouseAdaptor myMouseAdaptor = New MyMouseAdaptor (); MyList.addMouseListener (myMouseAdaptor); MyList.addMouseMotionListener (myMouseAdaptor); Japanese content = new zpn (); Content.add (MyList); This.add (content); This.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); This.pack (); This.setVisible (true); } Private Class MyMouseAdaptor MouseInputAdapter {Personal Boolean mouseDragging = false; Private Inds dragSourceIndex; @ Override Public Own Mouse Mouse (MouseEvent E) {If (Swing UTGE.EselfiefByton (E)) {dragSourceIndex = myList.getSelectedIndex (); Mousedragging = true; }} @ Override Public Wide Moorrelezed (Mouse Event E) {MouseDragging = Falls; } @ Override Public Wide MouseDrag Ged (Mouse Event E) {If (Mouse Driasing) {Int. Current Index = ILIST: LocationTindex (E.P.Point); If (current index! = Draggersindexx) {int dragTargetIndex = myList.getSelectedIndex (); String draglemment = myListModel.get (dragsourceindex); MyListModel.remove (dragSourceIndex); MyListModel.add (draggrain index, drag element); DragSourceIndex = Current index; }}}} Private default LISTODODEL & lt; String & gt; CreateStringListModel () {Final String [] listAllement = New string [] {"cat", "dog", "cow", "horse", "pig", "monkey"}; DefaultListModel & LT; String & gt; ListModel = New DefaultListModel & lt; String & gt; (); {StringModel.addElement (element) for (string element: list elements); } Return catalog model; } Public static zero main (string [] args) {New DndTest (); }}
Comments
Post a Comment