|
TransferableTack.java
Created with JBuilder |
package mastermind;
import java.awt.Color;
import java.awt.datatransfer.*;
import java.io.*;
/**
* TransferableTack -
* Eine Spezielle Klasse welche eine Tack Transportierbar macht. Wird für das Drag und Drop und Copy und Paste benötigt.
*
* Mind Blowing Master Mind ein klein Projekt des Informatik Unterrichts Programmieren II
* Authors Pascal Naef; Fabian Heusser
* Teacher: H. J. Diethlem
* School: hta.fhz.ch, Horw;
* Project Homepage: http://www.w3p.ch/mastermind/
*
* supported features:
* OYOAHA Look and feel;
* Transparen Pictures;
* Drag & Drop;
* Copy & Paste;
*
*
* LEGAL NOTICE
* THIS PROJECT AND ITS FILES ARE COPYRIGHTED BY THE AUTHORS
* THIS PROJECT CAN BE COPIED, MODIFIED AND DISTRIBUTED
* UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENCE
* WITH THE RESTRICTION OF SENDING US A MAIL WITH THE MODIFIED
* SOURCODE IF THE PROJECT IS MODIEFIED.
*
* if you like this progi feel free to send us something (beer, chips, playmates, houses....).
*
*
* @author Fabian Heusser
* @author Pascal Naef
* @version 1.0 $Date: 2001/12/05 15:37:25 $ $Revision: 1.2 $
* @(#) MasterMindView.java
*/
public class TransferableTack implements Transferable {
// uesed when we transfer Tack objects directly
protected static DataFlavor tackFlavor = new DataFlavor(Tack.class, "Tack Object from MasterMind");
//The supported flavours
//this here cost me a sunday. d'nd only works with a minimum of two flavors
//so you have to put here my flavor plus another flavor. if there is only one
//the d'n d sink get an dragOver dragEnter and so on but NO drop event!
//diffucult to find...
// i don't now actualy if this is a bug or so.
protected static DataFlavor[] supportedFlavors = {
tackFlavor, DataFlavor.stringFlavor
};
Tack tack; //actually the oject we're dancing for
/**
* Erstellt eine Neuen Tack-Packet
* @param tack Tack, der Eingepackt werden soll.
*/
public TransferableTack(Tack tack) {this.tack = tack;}
/**
* Return a list of supported Flavors
* @return DataFlavor[], eine Liste von Data Geschmäcker welche unterstützt werden.
*/
public DataFlavor[] getTransferDataFlavors() { return supportedFlavors;}
/**
* Prüft ob ein DatenGeschmack unterstützt wird.
* @param flavor DataFlavor, Der Geschmack der Untersucht werden soll.
* @return boolean, true wahr wenn der DatenGeschmack unterützt wird.
*/
public boolean isDataFlavorSupported(DataFlavor flavor) {
if (flavor.equals(tackFlavor)) return true;
return false;
}
/**
* Überträgt die Daten über die d'n d und c'n p schnittstelle
* wenn das nicht geht schmeissen wir ein exeption.
* @return Object, der verpackte Tack.
*/
public Object getTransferData(DataFlavor flavor)
throws UnsupportedFlavorException, IOException {
if (flavor.equals(tackFlavor)) return tack;
else throw new UnsupportedFlavorException(flavor);
}
}
|
TransferableTack.java
Created with JBuilder |