javaw oder java

Dieses Thema javaw oder java im Forum "Allgemeine Java-Themen" wurde erstellt von Neumi5694, 23. Nov. 2016.

Thema: javaw oder java Ich muss entscheiden, ob Hilfetexte in der Konsole landen oder in eine Messagebox müssen, bzw. muss wissen, ob das...

  1. Ich muss entscheiden, ob Hilfetexte in der Konsole landen oder in eine Messagebox müssen, bzw. muss wissen, ob das Programm mit java.exe oder javaw.exe gestartet wurde.

    Die aktuelle Methode ist zu prüfen, ob eine Systemkonsole existiert.
    Das funktioniert so weit, aber gibt es auch eine offizielle Methode über Umgebungsvariablen?
     
  2. Vielleicht hilft dir das Grundlagen Training weiter --> *Klick*
  3. was??? :confused:
     
    VfL_Freak gefällt das.
  4. In einfachen Worten: "Wie findet man am Besten raus, ob das Programm mit java.exe oder javaw.exe gestartet wurde"?
     
  5. Hast du den Link auch genauener? Zumindest auf der genannten Seite steht nichts, was die Frage beantwortet, sondern nur die Begründung, warum ich die Frage überhaupt gestellt habe.
    Wie man ein Programm startet, ist mir schon klar. Im Code rauszufinden, womit es gestartet wurde, hingegen nicht.
    Meine Lösung wäre, System.console() zu prüfen. Wenn es eine bessere gibt, bin ich ganz Ohr.
     
  6. Musst du überhaupt prüfen?
    Wenn's ne grafische Anwendung ist, gehören die Hilfetexte in MessageBoxen.
    Wenn's ne Konsolen-Anwendung ist, gehören die in die Konsole.
     
  7. Ja, muss ich.
    Es soll nämlich beides möglich sein.
     
  8. Und das ganze über einen boolschen Wert zu realisieren, geht nicht?
    Beim initialisieren deiner GUI kannst du ja den Wert auf false setzten oder ähnliches.
    Dazu ein TextHandler, der aufgrund des boolean entscheidet, wohin mit dem Text...
     
  9. Ich vermute mal das es ihm eben genau darum geht zu entscheiden ob GUI oder Console genutzt werden soll. Also es soll geprüft werden ob das Programm über java.exe oder javaw.exe gestartet wurde und dadurch soll überhaupt erst entschieden werden ob die GUI starten soll.
    Falls dem so ist, setzt dein Ansatz mit dem boolean eben zu spät an.
     
  10. Richtig. Anhand des verwendendeten Startkommandos würde ich diese Entscheidung dann fällen.
    Wie gesagt, eine Methode hab ich schon und das ist das Testen, ob überhaupt eine Konsole existiert.
    Ds funktioniert auch, ich frag nur, ob es da einen "besseren" Weg gibt, ob z.B. Systemvariablen gesetzt werden, die das angeben.
     
  11. Aber wenn er das aus dem Programm her wissen will, dann bleibt ja nur ein boolean. Etwa so
    Code (Text):
    final boolean isJavaW = System.console() == null;
    Anders könnte ich es mir auch nicht vorstellen..
    Also du willst die Entscheidung in dem Augenblick fällen, in dem ich einen Doppelklick auf java/javaw.exe mache?

    Systemvariable.. hmm.. glaube eher nicht. Im Prinzip brauchst du zwei weitere "Verlinkungen" zu java/javaw.exe und übergibst je nachdem ein Startkommando.
    Oder ein kleines Skript schreiben..also eine .bat-Datei..
    ansonsten fällt mir keine weitere Möglichkeit ein.
     
    Zuletzt bearbeitet: 25. Nov. 2016
  12. Ja, genau so mach ich's. Das Ganze soll von außen komplett unabhängig sein, deshalb sind Startparameter keine Option.
    Ich dacht nur, dass die jeweiligen Exen vielleicht irgendwas setzen AUSSER der System.console().
    Wohl nicht :)
    Auf jeden Fall danke für den Input.
     
  13. Ich denke du wirst um System.console() nicht herum kommen, da es theoretisch der einzige Unterschied sein dürfte. Du solltest allerdings bedenken, dass System.console() auch null liefert, wenn du es z.B. aus Eclipse heraus startest.
     
  14. Ok, danke.
     
  15. Kostenloses Java-Grundlagen Training im Wert von 39 €
    Schau dir jetzt hier das Tutorial an und starte richtig durch!