Hallo,
ich brauche noch mal eure Hilfe, ich komme mit meinem Problem nicht so richtig weiter. Und zwar:
Ich verschiebe Fahrzeug-Objekte von JList A in JList B. Die Objekte besitzen ausschließlich Attribute vom Typ String, Double. Der D&D Prozess funktioniert einwandfrei.
Nun erweitere ich die Fahrzeugobjekte um eine LinkedList() und befülle sie mit aus einer Textdatei ausgesenen Daten. Versuch ich nun D&D, schlägt der Drop fehl. Habe die Fehlerquelle eigentlich schon lokalisiert, aber weiß nicht was ich davon halten soll.
Der Dropp Prozess schlägt fehl, wenn die Methode getTransferable() aufgerufen wird und es wird eine IOException ausgelöst.
ich brauche noch mal eure Hilfe, ich komme mit meinem Problem nicht so richtig weiter. Und zwar:
Ich verschiebe Fahrzeug-Objekte von JList A in JList B. Die Objekte besitzen ausschließlich Attribute vom Typ String, Double. Der D&D Prozess funktioniert einwandfrei.
Nun erweitere ich die Fahrzeugobjekte um eine LinkedList() und befülle sie mit aus einer Textdatei ausgesenen Daten. Versuch ich nun D&D, schlägt der Drop fehl. Habe die Fehlerquelle eigentlich schon lokalisiert, aber weiß nicht was ich davon halten soll.
Der Dropp Prozess schlägt fehl, wenn die Methode getTransferable() aufgerufen wird und es wird eine IOException ausgelöst.
Java:
// TransferData ist ein Datenobjekt, dass die Fahrzeug-Objekte beinhaltet
@Override
public boolean importData( TransferSupport support )
{
if (!canImport( support ) )
{
return false;
}
else
{
DefaultListModel vecDefaultListModel = new DefaultListModel();
List vecFahrzeuge;
Component objComponent = support.getComponent();
ListModel DefaultFahrzeugliste = ( (JList)objComponent ).getModel();
try
{
vecFahrzeuge = ((TransferData)support.getTransferable().getTransferData(
FromTransferHandler.dataFlavor )).getCars();
}
catch (java.io.IOException e)
{
return false;
}
...
}
Java:
public class TransferData extends JComponent implements Transferable
{
private List<clFahrzeug> Cars;
public TransferData( List<clFahrzeug> cars )
{
this.Cars = cars ;
}
public void setCars(List<clFahrzeug> Cars)
{
this.Cars = Cars;
}
public List<clFahrzeug> getCars()
{
return Cars;
}
@Override
public DataFlavor[] getTransferDataFlavors()
{
DataFlavor[] flavors = new DataFlavor[1];
flavors[0] = FromTransferHandler.dataFlavor;
return flavors;
}
@Override
public boolean isDataFlavorSupported(DataFlavor flavor)
{
return flavor.equals( FromTransferHandler.dataFlavor );
}
@Override
public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException
{
if( !flavor.equals( FromTransferHandler.dataFlavor ) )
{
throw new UnsupportedFlavorException(flavor);
}
return this;
}
}