Forum: PC-Programmierung Java: abfragen ob der User eine Grafische Oberfläche hat, gibt es sowas wie goto in c?


von Mr. Pi (Gast)


Lesenswert?

Guten Abend,

ich hätte mal 2 Fragen zu Java:
  1. Gibt es in Java eine Möglichkeit zu prüfen,
     ob der Benutzer eine Grafische Oberfläche Nutzt oder nicht?
     Wenn Ja wie.

  2. Gibt es in Java, so etwas wie die goto Anweisung in C?
     Ich bitte zu bedenken, das ich hier nicht über den Sinn und Zweck,
     dieser Anweisung diskutieren, sonder einfach nur wissen ob es
     sowas gibt oder nicht.
     Wenn Ja auch hier wie nutze ich Sie?
      Ich habe es schon so probiert:
1
goto marke;
2
marke:
      geht irgendwie nicht.

Für Sinnvolle Antworten (welche nicht lauten google mal, das habe ich 
übrigens schon) wäre ich sehr Dankbar.


Mit freundlichen Grüßen
   Mr. Pi

von Valentin B. (nitnelav) Benutzerseite


Lesenswert?

Goto gibt es meiner nicht in Java,
da das in Java nicht gebraucht wird.
Goto führt zu schlimmstem Spaghetticode.

Wichtig:
Java != C

mit freundlichen Grüßen,
Valentin Buck

von TestX .. (xaos)


Lesenswert?

java ist striktes OOP, da gibt es kein goto - wenn du es brauchst hast 
du denn sinn von oop nicht verstanden ;)

schau dir die java API an insbesondere swing, awt ..  da findeste alle 
möglichen methoden

von Mr. Pi (Gast)


Lesenswert?

Andi D. schrieb:
> java ist striktes OOP, da gibt es kein goto - wenn du es brauchst hast
> du denn sinn von oop nicht verstanden ;)
Genau das wollte ich vermeiden, aber wenn Ihr es unbedingt wollt, sage 
ich euch eben wozu ich es brauche.
 Also ich brauche es um mehre Schleifen auf einmal zu verlassen,
 ohne eben mit viele Flags arbeiten zu müssen.
 Ich möchte einfach in einer Schleife if (des und des dann goto ...)
 sagen können.

Viel wichtiger ist mir allerdings immer noch das erste Problem.

von ... (Gast)


Lesenswert?

Mr. Pi schrieb:
> Also ich brauche es um mehre Schleifen auf einmal zu verlassen,
>  ohne eben mit viele Flags arbeiten zu müssen.
>  Ich möchte einfach in einer Schleife if (des und des dann goto ...)
>  sagen können.

Dann nimm 'break' und gib dem ein Label mit.

Mr. Pi schrieb:
> Für Sinnvolle Antworten (welche nicht lauten google mal, das habe ich
> übrigens schon) wäre ich sehr Dankbar.

Wohl eher nicht. Sonst hättest Du z.B. diesen Link selber gefunden:
http://forums.sun.com/thread.jspa?threadID=145493&start=15

von High Performer (Gast)


Lesenswert?

Ach ja, zum Thema GUI: die genauen Methoden weiß ich momentan nicht, 
aber schau mal in der API-Doku nach "headless", evtl. in Toolkit, 
GraphicsEnvironment oder GraphicsConfiguration. Evtl. gibt's da auch 
andere Methoden, welche die von Dir benötigten Infos liefern.
"headless" bedeutet soviel wie "ohne Bildschirm". Keine Ahnung, ob es 
das ist, was Du suchst. Aber mit google findest zu sicher noch weitere 
Hinweise. Schaue doch auch mal in einer Java FAQ.

von Mark B. (markbrandis)


Lesenswert?

Mr. Pi schrieb:
> Guten Abend,
>
> ich hätte mal 2 Fragen zu Java:
>   1. Gibt es in Java eine Möglichkeit zu prüfen,
>      ob der Benutzer eine Grafische Oberfläche Nutzt oder nicht?
>      Wenn Ja wie.

Was ist damit gemeint - zum Beispiel ob unter Linux gerade X Windows 
läuft oder nicht?

von z.b. so (Gast)


Lesenswert?

Mr. Pi schrieb:
> Also ich brauche es um mehre Schleifen auf einmal zu verlassen,
>  ohne eben mit viele Flags arbeiten zu müssen.
>  Ich möchte einfach in einer Schleife if (des und des dann goto ...)
>  sagen können.

wirf eine exception anstatt goto...

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

z.b. so schrieb:
> Mr. Pi schrieb:
>> Also ich brauche es um mehre Schleifen auf einmal zu verlassen,
>>  ohne eben mit viele Flags arbeiten zu müssen.
>>  Ich möchte einfach in einer Schleife if (des und des dann goto ...)
>>  sagen können.
>
> wirf eine exception anstatt goto...

Das ist doch Quatsch! Hier liegt ein klassischer Fall von "Problem durch 
Geheimhaltung" weil der TE am eine Frage stellt die (seiner Meinung 
nach) die einzige Lösung ist, ohne das Problem zu nennen. Java bietet 
labels an um aus mehreren Schleifen auszusteigen, und das sollte man 
hier auch nutzen.

> Was ist damit gemeint - zum Beispiel ob unter Linux
> gerade X Windows läuft oder nicht?
Es ist wohl gemeint, ob man z.B. einen Frame/Popup/... öffnen kann ohne 
eine "Headlessexception" zu erzeugen weil eben kein Grafischers! 
ANzeigesystem vorhanden ist.

GraphicsEnvironment.isHeadless oder Systemproperty java.awt.headless 
kann man hierfür abfragen.

von ... .. (docean) Benutzerseite


Lesenswert?

Läubi .. schrieb:
> Java bietet
> labels an um aus mehreren Schleifen auszusteigen, und das sollte man
> hier auch nutzen.

bedeutet das rausspringen "Es ist ein Fehler aufgetreten."? Wenn ja dann 
wäre doch die Exception das richtige oder nicht?

von Claudio H. (bastelfinger)


Lesenswert?

Java "hat" GOTO, es ist ein reserviertes Wort. Deswegen funktioniert 
auch meist ein Syntax-Highlighting in der IDE.

von Mr. Pi (Gast)


Lesenswert?

Danke auf alle Fälle mal,

das mit dem break war die Lösung.
 DANKE für den Hinweis.

PS: Ich habe gegooglet hatte aber Leider nichts derartiges gefunden.
    Lag vielleicht auch an mir, dar ich nach Java und Goto oder
    mehre Schleifen verlassen in Java gesucht habe, das mit das man in
    Java Labels für Schleifen setzen kann und so mit break diese 
verlassen
    kann wusste ich nicht, also vielen DANK!!!.


Mark Brandis schrieb:Was ist damit gemeint - zum 
Beispiel ob unter Linux gerade X Windows
läuft oder nicht?
> Was ist damit gemeint - zum Beispiel ob unter Linux gerade X Windows
> läuft oder nicht?
Ja genau das habe ich gemeint und die Antwort auch schon bekommen, auch 
hierfür DANKE
Läubi .. !

DANKE auch an alle die zur Lösung beigetragen haben :) .

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.