G
Guest
Gast
Hi
ich habe hier einige Teile Quelltext bei denen ich nicht richtig weiß was die machen...kann mir vll wer eine erklärung dazu geben?
Oben beim Filetransferhandler weiß ich nicht so recht was der macht genau wie bei der import data funktion und der canimport und hasfileflavor funktion
Andre uhres hatte mir damals bei der klasse geholfen,welche für ein projekt ist welches morgen abgegeben werden muss...und da soll der komplette quelltext mit komments geschmückt sein :shock:
MFG
ich habe hier einige Teile Quelltext bei denen ich nicht richtig weiß was die machen...kann mir vll wer eine erklärung dazu geben?
Oben beim Filetransferhandler weiß ich nicht so recht was der macht genau wie bei der import data funktion und der canimport und hasfileflavor funktion
Andre uhres hatte mir damals bei der klasse geholfen,welche für ein projekt ist welches morgen abgegeben werden muss...und da soll der komplette quelltext mit komments geschmückt sein :shock:
MFG
Code:
class FileTransferHandler extends TransferHandler { //Klasse Filetransferhandler abgeleitet von Filetransferhandler
private Audio audio=new Audio();
private DataFlavor fileFlavor;
private JTable table;
private JFrame frame;
private playPlaylist playplaylist=new playPlaylist();
FileTransferHandler(final JTable list) {
this.table = list;
fileFlavor = DataFlavor.javaFileListFlavor;
}
@Override
public boolean importData(final JComponent c, final Transferable t) {
if (!canImport(c, t.getTransferDataFlavors())) {
return false;
}
try {
if (hasFileFlavor(t.getTransferDataFlavors())) {
final List files = (List) t.getTransferData(fileFlavor);
for (int i = 0; i < files.size(); i++) { //von 0 bis ende Fileanzahl
final File file = (File) files.get(i); //aktuelle Datei in Filecontainer speichern
String name = file.getName(); //Name von Datei holen
String pfad="file:/" + file.getPath(); //Pfad von Datei holen
if ( name.endsWith(".wav")||name.endsWith(".wave")) { //wenn Datei eine Wave Datei
Dateneinlesen(file,file.getName(),pfad); //Dateieinlesen Funktion aufrufen
}
else if ( name.endsWith(".m3u")) //wenn Datei Playlist Datei
{
String zeile=null;
String dateiname=null;
boolean nächstezeile=false;
BufferedReader datei = new BufferedReader(new FileReader(file.getPath()) ); //streamreader erstellen um Datei auszulesen
while( (zeile = datei.readLine()) != null ){ // liest zeilenweise aus Datei sollange bis das ende erreicht is
if(nächstezeile==true){ //wenn variable true(wird true wenn bestimmte zeile ausgelesen wurde
String filepfad="file:/" + zeile; //String für File pfad erstellen
Dateneinlesen(playplaylist.urlToFile(filepfad),dateiname,filepfad); //Dateieinlesen aufrufen
nächstezeile=false; //variable wieder false setzen
}
if(zeile.startsWith("#EXTINF:0,")){ //wenn Zeile mit "#EXTINF:0," beginnt
dateiname=zeile.substring(10); //Zeile ab "#EXTINF:0," auslesen
nächstezeile=true; //Variable true setzen
}
if(zeile.startsWith("#EXTM3U")){ //wenn Zeile mit "#EXTM3U" beginnt tue nix
}
if(zeile.isEmpty()==true){ //wenn Zeile leer ist tue nix
}
}
datei.close(); //datei schließen
}
else
{
JOptionPane.showMessageDialog(frame,"Die Datei hat ein nicht unterstütztes File Format!",name,JOptionPane.ERROR_MESSAGE); //Fehlermeldung wenn nicht unterstützte datei geladen werden soll
}
}
return true;
}
} catch (final UnsupportedFlavorException ufe) {
System.out.println("importData: unsupported data flavor");
} catch (final IOException ioe) {
System.out.println("importData: I/O exception");
}
return false;
}
@Override
public boolean canImport(final JComponent c, final DataFlavor[] flavors) {
return hasFileFlavor(flavors);
}
private boolean hasFileFlavor(final DataFlavor[] flavors) {
for (int i = 0; i < flavors.length; i++) {
if (fileFlavor.equals(flavors[i])) {
return true;
}
}
return false;
}