tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von sheel
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
543
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von javaDeveloper2011
    javaDeveloper2011 javaDeveloper2011 ist offline Mitglied Brokat
    Registriert seit
    Feb 2011
    Beiträge
    445
    Blog-Einträge
    5
    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
     

  2. #2
    Avatar von sheel
    sheel sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.504
    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ß
    javaDeveloper2011 bedankt sich. 

  3. #3
    Avatar von javaDeveloper2011
    javaDeveloper2011 javaDeveloper2011 ist offline Mitglied Brokat
    Registriert seit
    Feb 2011
    Beiträge
    445
    Blog-Einträge
    5
    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
     

  4. #4
    Avatar von sheel
    sheel sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.504
    Zitat Zitat von javaDeveloper2011 Beitrag anzeigen
    eigentlich ja logisch, ich dachte aber nur Komandozeilen-Programme bekommen args-Strings übergeben.
    Nein, jedes.

    Zitat Zitat von javaDeveloper2011 Beitrag anzeigen
    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)...

    Zitat Zitat von javaDeveloper2011 Beitrag anzeigen
    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.

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

    Gruß
     

  5. #5
    Avatar von javaDeveloper2011
    javaDeveloper2011 javaDeveloper2011 ist offline Mitglied Brokat
    Registriert seit
    Feb 2011
    Beiträge
    445
    Blog-Einträge
    5
    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
     

Ähnliche Themen

  1. "Ein eigenes kleines Betriebssystem" funktioniert nicht
    Von Stoneheart im Forum Sonstige Sprachen
    Antworten: 21
    Letzter Beitrag: 09.01.11, 13:14
  2. PHP 5 als "Standart" setzen, wie ?
    Von spikaner im Forum Hosting & Webserver
    Antworten: 2
    Letzter Beitrag: 20.08.08, 10:30
  3. Standart-Repositories "404 not found" (Ubuntu Breezy Badger)
    Von Suchfunktion im Forum Linux & Unix
    Antworten: 3
    Letzter Beitrag: 27.04.08, 05:18
  4. ARCOR STANDART WLAN ROUTER "Prestige 660HW-67"
    Von R00Ki3 im Forum Hardware
    Antworten: 2
    Letzter Beitrag: 16.02.05, 17:25
  5. Ordneroptionen "Details" als Standart setzen
    Von stef@n im Forum Microsoft Windows
    Antworten: 6
    Letzter Beitrag: 09.10.03, 22:36

Stichworte