01: /*
02: * Copyright (C) 2005 - 2008 JasperSoft Corporation. All rights reserved.
03: * http://www.jaspersoft.com.
04: *
05: * Unless you have purchased a commercial license agreement from JasperSoft,
06: * the following license terms apply:
07: *
08: * This program is free software; you can redistribute it and/or modify
09: * it under the terms of the GNU General Public License version 2 as published by
10: * the Free Software Foundation.
11: *
12: * This program is distributed WITHOUT ANY WARRANTY; and without the
13: * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14: * See the GNU General Public License for more details.
15: *
16: * You should have received a copy of the GNU General Public License
17: * along with this program; if not, see http://www.gnu.org/licenses/gpl.txt
18: * or write to:
19: *
20: * Free Software Foundation, Inc.,
21: * 59 Temple Place - Suite 330,
22: * Boston, MA USA 02111-1307
23: *
24: *
25: *
26: *
27: * JListTransfertHandler.java
28: *
29: * Created on 15 settembre 2004, 2.19
30: *
31: */
32:
33: package it.businesslogic.ireport.gui.dnd;
34:
35: import it.businesslogic.ireport.gui.MainFrame;
36: import java.awt.Component;
37: import java.awt.Point;
38: import java.awt.Rectangle;
39: import java.awt.datatransfer.Transferable;
40: import java.awt.dnd.DragSource;
41: import java.awt.dnd.DragSourceDragEvent;
42: import java.awt.dnd.DragSourceMotionListener;
43: import javax.swing.*;
44: import javax.swing.tree.DefaultMutableTreeNode;
45:
46: /**
47: *
48: * @author Administrator
49: */
50: public class JListTransfertHandler extends javax.swing.TransferHandler {
51:
52: public int getSourceActions(JComponent c) {
53: return COPY;
54: }
55:
56: protected Transferable createTransferable(JComponent c) {
57:
58: if (c instanceof JList) {
59: JList list = (JList) c;
60:
61: return new it.businesslogic.ireport.gui.dnd.TransferableObject(
62: list.getSelectedValue());
63: }
64: if (c instanceof JTree) {
65: Object obj = null;
66: JTree tree = (JTree) c;
67:
68: if (tree.getSelectionPath() != null
69: && tree.getSelectionPath().getLastPathComponent() instanceof DefaultMutableTreeNode) {
70: DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode) tree
71: .getSelectionPath().getLastPathComponent();
72: obj = selectedNode.getUserObject();
73: }
74:
75: if (obj != null)
76: return new it.businesslogic.ireport.gui.dnd.TransferableObject(
77: obj);
78: }
79:
80: return new it.businesslogic.ireport.gui.dnd.TransferableObject(
81: c);
82: }
83:
84: }
|