How do you drag and drop one row in a JTable to another...
1 posts in topic
Flat View  Flat View
TOPIC ACTIONS:
 

Posted By:   Jerry_Rekedal
Posted On:   Saturday, March 17, 2001 05:58 PM

How do you drag and drop one row in a JTable to another location in the JTable.

Re: How do you drag and drop one row in a JTable to another...

Posted By:   Rammohan_Meda  
Posted On:   Wednesday, March 28, 2001 11:01 AM

We can do this by creating a library of drag and drop-enabled Swing components.



Issues for drag and drop components



§ Starting the drag operation


§ Drag-under feedback


§ Drag-over feedback


§ The drop


§ Transferable


§ The move operation



The table is a view of the data in its model. If each table cell represents an object in the model, you may want to create a table in which the user can drag and drop individual cells. If the table maps each object to a row and the table columns to the object's attributes, you might want the user to be able to drag and drop a table row.





Starting the drag



§ Check if any edit is in progress, if yes, stop the edit process with javax.swing.JTable.AccessibleJtable.editingStopped()


§ Check the data under the pointer is draggable.




Drag-under feedback




§ Select the row under the pointer for drag-under feedback by the methods javax.swing.Jtable.columnAtPoint() and/or javax.swing.Jtable.rowAtPoint() to determine which row or cell the pointer is over.




Drag-over feedback




§ Check the row and column at the current point.



§ Save the row and column that you used to create the Transferable object, hence you can prevent dragging and dropping on the same cell.





The drop




§ Use the model.setValueAt(row, col) method to replace the selection or create a method in the model that allows insertion before or after the selection.




Transferable




§ Retrieve the Transferable object from the model. Use the selected row to allow the model to determine how to make the Transferable.




The move operation




§ Use removeNodeFromParent() to remove the node.
About | Sitemap | Contact