Eigenes Textverarbeitungsprogramm als "Standart-Öffner"

javaDeveloper2011

Erfahrenes Mitglied
Hallo Leute,

Ich habe ein einfaches Textverarbeitungsprogramm (für .txt-Dateien) erstellt und daraus eine EXE gemacht. Wenn ich festlege, dass TXT standartmäßig mit meinem Programm geöffnet wird, geht es auf, die Seite bleibt aber lehr. (Mein Menupunkt "Öffnen" funktionirt immer wunderbar)

Meine Frage also:
Wie kann ich Windows sagen was gemacht werden muss, wenn eine Datei mit meinem Programm geöffnet wird ? (z.B. eine Methode 'oeffnen' mit Pfad als Parameter aufrufen)

Ich freue mich auf eure Hilfe,
javaDeveloper2011
 
Hi

den Pfad der zu öffnenden Datei findest du im Stringarray, das main übergeben wird.
Zeig dein main, dann kann ich dir genauer sagen, was du noch ändern musst.

Gruß
 
Erstmal danke,
eigentlich ja logisch, ich dachte aber nur Komandozeilen-Programme bekommen args-Strings übergeben.

Jetzt wird der Methode 'oeffnen' des Test-Verarbeitungs-Fensters (die funktioniert) args[0] übergeben,
die ArreyIndexOutOfBoundsException wird abgefangen.

Leider kommt jetzt immer folgender 'Fatal Error':
'java.lang.reflect.InvocationTargetException'

Wenn ich die EXE so öffne und dann aus dem Menu heraus die Datei öffne klappts.

javaDeveloper2011
 
eigentlich ja logisch, ich dachte aber nur Komandozeilen-Programme bekommen args-Strings übergeben.
Nein, jedes.

Jetzt wird der Methode 'oeffnen' des Test-Verarbeitungs-Fensters (die funktioniert) args[0] übergeben,
die ArreyIndexOutOfBoundsException wird abgefangen.
Statt Exception abfangen könntest du auch einfach überprüfen, ob im Array ein Eintrag ist.
if (... .length >0)...

Leider kommt jetzt immer folgender 'Fatal Error':
'java.lang.reflect.InvocationTargetException'
Ohne weitere Infos wirds schwierig, das zu lösen.
Entweder, was bei dieser Exception die Methoden getCause und getTargetException für Sachen zurückliefern, oder den Code.

Wenn ich die EXE so öffne und dann aus dem Menu heraus die Datei öffne klappts.
Exe? In Java?

Gruß
 
Erstmal: mit EXE meine ich eine vollwertige Anwendung die mit .exe endet, nachdem ich schon exe4Jj ausprobiert habe, nehme ich jetzt meistens execJ oder JSmooth (da kann man besser andere jar-Ressourcen für JDBC oder Mail-API einbinden. Mein Fehler lag in der 'oeffnen'-Methode, zum setzen des JFrame-Titels benutzte sie die globale variable dateiName, die bei actionCommand().equals("Öffnen") zwar gesetzt wird, nicht aber wenn args[0] der dateiName ist, stadt dem 'oeffnen' übergebenen Parameter 'name'! Letztendlich wars also nur ne StringIndexOutOfBoundsException!

Jetzt klappt alles wie gewünscht!

Trotzdem danke für eure mühe.
javaDeveloper2011
 

Neue Beiträge

Zurück