Mailing Lists: Apple Mailing Lists
Image of Mac OS face in stamp
how to drag multiple items from JList to a JPanel ( with Java 1.5)
[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)



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>)



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.