C
Charaxes
Gast
Moin Leute,
ich komm grad einfach nicht mehr weiter an meinem Projekt... Ich bin gerade an einem Dateimanager (ein besserer Klon von Explorer). Und da gibt's schon das erste Problem: Wenn der Benutzer links im Jtree einen Ordner öffnet wird rechts der Jtable korrekt geupdatet (ich durchlauf einfach das selektierte Verzeichnis und füge die Dateien dem Table hinzu). Wenn der Benutzer allerdings durch Doppelklick in Jtable einen Ordner öffnen will, weiß ich nicht wie ich das Coden soll, dass dann links (also im Jtree) der Jtree den korrekten Ordner öffnet. Wie mach ich das?
Nächstes Problem: Wenn ich den Arbeitsplatz öffne denkt mein Floppy-Laufwerk es muss wie blöd nach einer Diskette suchen und es poppt eine Windows-Fehlermeldung auf „Datenträger einlegen“. Wenn das Laufwerk dann fertig ist (und keine Diskette eingelegt ist) erscheint in meinem Jtable nur das Icon ohne Text. Wie mach ich das a) Mein Laufwerk nicht so rattert (und das macht es ständig. Eine Fenstergrößenveränderung lässt es wieder 3 – 5 s rattern) und b) Wenn keine Diskette eingelegt ist, nur 3½-Diskette dasteht??
Mein nächstes großes Problem mit dem Manager ist, das wenn ich Laufwerk C: öffnen möchte, also rekursiv durchlaufen will folgene Fehlermeldung erscheint:
FileSystemView.getShellFolder: f=C:\PAGEFILE.SYS
java.io.FileNotFoundException
Keine Ahnung was PAGEFILE.SYS ist, aber die das FSV wird schon sein Prob mit haben. Wie umgeh ich den bitte das??
Leider bleibt mir immer noch die Frage offen, wie ich mein TreeModel abändern muss, damit nur Ordner angezeigt werden. Hier mein Treemodel:
Wo muss man da jetzt was abändern??
Und nun noch eine Frage ^^: Mit meinem Filemanager muss man ja auch Dateien öffnen können. Doch wie mach ich das Platformunabhängig. Ich habe bis jetzt folgende Methode: Der Benutzer gibt den Pfad sagen wir zu IrfanView an um damit JPG-Dateien zu öffnen. Nun speichert mein Programm den Pfad zum Programm plus die Endung und durchsucht beim nächsten mal diese Text-Datei und wenn der Benutzer z.B. mal gesagt hat JPG mit IrfanView, dann ruft er das gespeicherte programm auf und übergibt ihm die Datei. Das funktioniert allerdings nicht mit jedem Programm. Gibt's da irgendwas, womit ich rausfinden kann, mit was die Datei Standardgemäß geöffnet wird – wenn's sein muss auch platformabhängig ?
So jetzt hab ich aber noch so ein paar Fragen (nur der Javasucht wegen ;D):
1.Gibt's ein Tutorial/Text oder irgendwas (bitte nicht Handbuch der Java-Programmierung – das hab ich schon) das sich speziell mit der Kryptographie beschäftig. Ich glaube es gibt ein solches Buch unter dem Namen Geheime Botschaften von Simon Singh. Ist das interessant? Klar, sagen jetzt viele such halt, aber vielleicht hat's ja schon jmd. von hier gelesen?! Wichtig: Das Buch sollte sich nicht primär mit dem JCE und der sonstigen schon fertigen Klassen beschäftigen, sondern z.B. erklären wie den so ein Algorithmus funktioniert und ganz wichtig: Wie man einen eigenen schreibt und auf was dabei ankommt. Natürlich auch interessant wäre die Stenographie (schreibt man das mit f?). Ein paar Texte (alle wenn möglich auf Deutsch) wären nicht schlecht. Danke
2.Ich such auch dringend noch nach ein paar Einstiegstutorials zur Java 3(D)-API. Ein paar gute Links und ich bin glücklich !
3.Wo bekomme ich ein das Programm her mit, welchem man die schönen Windows-Hilfen machen kann?
Vielen Dank für alle Anwortren,
charaxes
[Edit by Beni: Codetags eingefügt]
ich komm grad einfach nicht mehr weiter an meinem Projekt... Ich bin gerade an einem Dateimanager (ein besserer Klon von Explorer). Und da gibt's schon das erste Problem: Wenn der Benutzer links im Jtree einen Ordner öffnet wird rechts der Jtable korrekt geupdatet (ich durchlauf einfach das selektierte Verzeichnis und füge die Dateien dem Table hinzu). Wenn der Benutzer allerdings durch Doppelklick in Jtable einen Ordner öffnen will, weiß ich nicht wie ich das Coden soll, dass dann links (also im Jtree) der Jtree den korrekten Ordner öffnet. Wie mach ich das?
Nächstes Problem: Wenn ich den Arbeitsplatz öffne denkt mein Floppy-Laufwerk es muss wie blöd nach einer Diskette suchen und es poppt eine Windows-Fehlermeldung auf „Datenträger einlegen“. Wenn das Laufwerk dann fertig ist (und keine Diskette eingelegt ist) erscheint in meinem Jtable nur das Icon ohne Text. Wie mach ich das a) Mein Laufwerk nicht so rattert (und das macht es ständig. Eine Fenstergrößenveränderung lässt es wieder 3 – 5 s rattern) und b) Wenn keine Diskette eingelegt ist, nur 3½-Diskette dasteht??
Mein nächstes großes Problem mit dem Manager ist, das wenn ich Laufwerk C: öffnen möchte, also rekursiv durchlaufen will folgene Fehlermeldung erscheint:
FileSystemView.getShellFolder: f=C:\PAGEFILE.SYS
java.io.FileNotFoundException
Keine Ahnung was PAGEFILE.SYS ist, aber die das FSV wird schon sein Prob mit haben. Wie umgeh ich den bitte das??
Leider bleibt mir immer noch die Frage offen, wie ich mein TreeModel abändern muss, damit nur Ordner angezeigt werden. Hier mein Treemodel:
Code:
/* created on 02.10.2004 */
import java.io.File;
import javax.swing.event.TreeModelListener;
import javax.swing.filechooser.FileSystemView;
import javax.swing.tree.TreeModel;
import javax.swing.tree.TreePath;
public final class JZIPer_Dateibaum_FileTreeModel
implements TreeModel
{
private final static FileSystemView SYSTEM = FileSystemView.getFileSystemView();
private static boolean truee = false;
private boolean showAncestors = false;
public JZIPer_Dateibaum_FileTreeModel()
{}
public final Object getRoot()
{
return SYSTEM.getHomeDirectory();
}
public final int getChildCount(Object parent)
{
return SYSTEM.getFiles((File)parent, true).length;
}
public final boolean isLeaf(Object node)
{
try
{
if(((File)node).isDirectory() && ((File)node).list().length > 1)
truee = false;
if(((File)node).isDirectory() && ((File)node).list().length <= 1)
truee = true;
else if(((File)node).isFile())
truee = true;
} catch(Exception e)
{}
if(SYSTEM.isComputerNode((File)node))
return true;
return truee;
}
public final void addTreeModelListener(TreeModelListener l)
{}
public final void addTreeSelectionListener()
{}
public final void removeTreeModelListener(TreeModelListener l)
{}
public final Object getChild(Object parent, int index)
{
return SYSTEM.getFiles((File)parent, true)[index];
}
public final int getIndexOfChild(Object parent, Object child)
{
File[] files = SYSTEM.getFiles((File)parent, false);
System.err.println(child);
for(int i=0; i<files.length; i++)
{
System.out.println(files[i]);
if(files[i].equals(child))
return i;
}
return -1;
}
public final void valueForPathChanged(TreePath path, Object newValue)
{}
}
Wo muss man da jetzt was abändern??
Und nun noch eine Frage ^^: Mit meinem Filemanager muss man ja auch Dateien öffnen können. Doch wie mach ich das Platformunabhängig. Ich habe bis jetzt folgende Methode: Der Benutzer gibt den Pfad sagen wir zu IrfanView an um damit JPG-Dateien zu öffnen. Nun speichert mein Programm den Pfad zum Programm plus die Endung und durchsucht beim nächsten mal diese Text-Datei und wenn der Benutzer z.B. mal gesagt hat JPG mit IrfanView, dann ruft er das gespeicherte programm auf und übergibt ihm die Datei. Das funktioniert allerdings nicht mit jedem Programm. Gibt's da irgendwas, womit ich rausfinden kann, mit was die Datei Standardgemäß geöffnet wird – wenn's sein muss auch platformabhängig ?
So jetzt hab ich aber noch so ein paar Fragen (nur der Javasucht wegen ;D):
1.Gibt's ein Tutorial/Text oder irgendwas (bitte nicht Handbuch der Java-Programmierung – das hab ich schon) das sich speziell mit der Kryptographie beschäftig. Ich glaube es gibt ein solches Buch unter dem Namen Geheime Botschaften von Simon Singh. Ist das interessant? Klar, sagen jetzt viele such halt, aber vielleicht hat's ja schon jmd. von hier gelesen?! Wichtig: Das Buch sollte sich nicht primär mit dem JCE und der sonstigen schon fertigen Klassen beschäftigen, sondern z.B. erklären wie den so ein Algorithmus funktioniert und ganz wichtig: Wie man einen eigenen schreibt und auf was dabei ankommt. Natürlich auch interessant wäre die Stenographie (schreibt man das mit f?). Ein paar Texte (alle wenn möglich auf Deutsch) wären nicht schlecht. Danke
2.Ich such auch dringend noch nach ein paar Einstiegstutorials zur Java 3(D)-API. Ein paar gute Links und ich bin glücklich !
3.Wo bekomme ich ein das Programm her mit, welchem man die schönen Windows-Hilfen machen kann?
Vielen Dank für alle Anwortren,
charaxes
[Edit by Beni: Codetags eingefügt]