|
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] |
|
how to drag multiple items from JList to a JPanel
( with Java 1.5)
Here below I mentioned sample application. package dndapps; / Java Swing, 2nd Edition By Marc Loy, Robert Eckstein, Dave Wood, James Elliott, Brian Cole ISBN: 0-596-00408-7 Publisher: O'Reilly / // DragTest.java //A simple (?) test of the DragSource classes to see if we //can create a draggable object in a Java application. This version //works with 1.3 and higher SDKs. // import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.Graphics; import java.awt.datatransfer.StringSelection; import java.awt.dnd.DnDConstants; import java.awt.dnd.DragGestureEvent; import java.awt.dnd.DragGestureListener; import java.awt.dnd.DragGestureRecognizer; import java.awt.dnd.DragSource; import java.awt.dnd.DragSourceDragEvent; import java.awt.dnd.DragSourceDropEvent; import java.awt.dnd.DragSourceEvent; import java.awt.dnd.DragSourceListener; import java.awt.dnd.DropTarget; import java.awt.dnd.DropTargetDragEvent; import java.awt.dnd.DropTargetDropEvent; import java.awt.dnd.DropTargetEvent; import java.awt.dnd.DropTargetListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.util.ArrayList; import javax.swing.JFrame; import javax.swing.JList; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.ListSelectionModel; public class DragTest extends JFrame implements DragSourceListener, DragGestureListener, DropTargetListener { DragSource ds; JList jl; MyPanel panel = new MyPanel(); StringSelection transferable; String[] items = { "Java", "C", "C++", "Lisp", "Perl", "Python" }; DropTarget dropTarget = null; public DragTest() { super("Drag Test"); setSize(200, 150); setPreferredSize(new Dimension(200, 150)); JFrame f = new JFrame(); panel.setSize(getPreferredSize()); panel.setSize(getSize()); f.setPreferredSize(getPreferredSize()); f.setSize(getPreferredSize()); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent we) { System.exit(0); } }); jl = new JList(items); jl.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); getContentPane().add(new JScrollPane(jl), BorderLayout.CENTER); ds = new DragSource(); DragGestureRecognizer dgr = ds.createDefaultDragGestureRecognizer(jl, DnDConstants.ACTION_COPY, this); dropTarget = new DropTarget(panel, DnDConstants.ACTION_COPY_OR_MOVE, this); f.add(panel); f.pack(); f.setVisible(true); setVisible(true); } public void dragGestureRecognized(DragGestureEvent dge) { System.out.println("Drag Gesture Recognized!"); transferable = new StringSelection(jl.getSelectedValue().toString()); ds.startDrag(dge, DragSource.DefaultCopyDrop, transferable, this); } public void dragEnter(DragSourceDragEvent dsde) { System.out.println("Drag Enter"); } public void dragExit(DragSourceEvent dse) { System.out.println("Drag Exit"); } public void dragOver(DragSourceDragEvent dsde) { System.out.println("Drag Over"); } public void dragDropEnd(DragSourceDropEvent dsde) { System.out.print("Drag Drop End: "); if (dsde.getDropSuccess()) { System.out.println("Succeeded"); } else { System.out.println("Failed"); } } public void dropActionChanged(DragSourceDragEvent dsde) { System.out.println("Drop Action Changed"); } public static void main(String args[]) { new DragTest(); } public void dragEnter(DropTargetDragEvent dtde) { // TODO Auto-generated method stub } public void dragExit(DropTargetEvent dte) { // TODO Auto-generated method stub } public void dragOver(DropTargetDragEvent dtde) { // TODO Auto-generated method stub } public void drop(DropTargetDropEvent dtde) { // TODO Auto-generated method stub Object str[] = jl.getSelectedValues(); panel.list.clear(); for (int i = 0; i < str.length; i++) { panel.list.add(" " str[i]); } panel.repaint(); } public void dropActionChanged(DropTargetDragEvent dtde) { // TODO Auto-generated method stub } } class MyPanel extends JPanel { ArrayList<String> list = new ArrayList<String>(); @Override public void paint(Graphics g) { // TODO Auto-generated method stub super.paint(g); for (int i = 0; i < list.size(); i+) { g.drawString(list.get(i), 10 , (i + 1) * 50); } } } Thanks RamaRao.Gundapaneni |
_______________________________________________ Do not post admin requests to the list. They will be ignored. Java-dev mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden
| References: | |
| >application's minimized icon is broken / Problem with Java update 1 for Snow leopard (From: Greg Kellum <email@hidden>) | |
| >Re: application's minimized icon is broken / Problem with Java update 1 for Snow leopard (From: Jeremy Wood <email@hidden>) | |
| >Re: application's minimized icon is broken / Problem with Java update 1 for Snow leopard (From: Mike Swingler <email@hidden>) | |
| >Re: application's minimized icon is broken / Problem with Java update 1 for Snow leopard (From: Sam Berlin <email@hidden>) | |
| >Re: application's minimized icon is broken / Problem with Java update 1 for Snow leopard (From: Mike Swingler <email@hidden>) |
| Home | Archives | Terms/Conditions | Contact | RSS | Lists | About |
Visit the Apple Store online or at retail locations.
1-800-MY-APPLE
Contact Apple | Terms of Use | Privacy Policy
Copyright © 2011 Apple Inc. All rights reserved.