KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > it > businesslogic > ireport > gui > dnd > ColumnTransferableHandler


1 /*
2  * Copyright (C) 2005 - 2006 JasperSoft Corporation. All rights reserved.
3  * http://www.jaspersoft.com.
4  *
5  * Unless you have purchased a commercial license agreement from JasperSoft,
6  * the following license terms apply:
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * 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  * ColumnTransferableHandler.java
28  *
29  * Created on 21 maggio 2003, 18.43
30  *
31  */

32
33 package it.businesslogic.ireport.gui.dnd;
34 import java.awt.dnd.*;
35 import javax.swing.*;
36 import java.awt.datatransfer.*;
37 import java.io.*;
38
39 /**
40  *
41  * @author Administrator
42  */

43 public abstract class ColumnTransferableHandler extends TransferHandler {
44     
45     protected abstract String JavaDoc exportString(JComponent c);
46     protected abstract void importString(JComponent c, String JavaDoc str);
47     protected abstract void cleanup(JComponent c, boolean remove);
48     
49     protected Transferable createTransferable(JComponent c) {
50         return new StringSelection(exportString(c));
51     }
52     
53     public int getSourceActions(JComponent c) {
54         return COPY_OR_MOVE;
55     }
56     
57     public boolean importData(JComponent c, Transferable t) {
58         if (canImport(c, t.getTransferDataFlavors())) {
59             try {
60                 String JavaDoc str = (String JavaDoc)t.getTransferData(DataFlavor.stringFlavor);
61                 importString(c, str);
62                 return true;
63             } catch (UnsupportedFlavorException ufe) {
64             } catch (IOException ioe) {
65             }
66         }
67
68         return false;
69     }
70     
71     protected void exportDone(JComponent c, Transferable data, int action) {
72         cleanup(c, action == MOVE);
73     }
74     
75     public boolean canImport(JComponent c, DataFlavor[] flavors) {
76         for (int i = 0; i < flavors.length; i++) {
77             if (DataFlavor.stringFlavor.equals(flavors[i])) {
78                 return true;
79             }
80         }
81         return false;
82     }
83     
84 }
85
86
87
Popular Tags