# "Statusbar" - JFrame mit 'Java Applet Window'



## RellikPoc (13. Aug 2004)

Mahlzeit!
Bin noch ganz schön Noob, was Java angeht und logischerweise hat man da schier unüberwindbare Probleme.
Mein derzeitiges ist eine Leiste vom JFrame, die aber auch beispielsweise bei Dialogen der JOptionPane mit dran hängt. 
Das Ding hängt trostlos unten dran und sagt jedem, der lesen kann, dass man gerade ein Java Applet Window betrachtet...erinnert ein wenig an die Statusbar von Windows. Kann leider grad kein Bild davon ins Netz stellen, weil mir zZt der Zugriff auf meinen FTP versagt ist, also muss die Beschreibung reichen.

Zur Frage:
Gibt's 'ne einfache, "schöne" Art das Ding wegzukriegen?

MfG Poc


----------



## L-ectron-X (13. Aug 2004)

Hehe, nein. Das geht leider nicht. Diese "Statusleiste" ist in der VM so spezifiziert. In der MS-VM sogar noch etwas aggressiver. Es handelt sich hier um einen Sicherheitshinweis für den Anwender von Applets, damit dieser erfährt, dass das was er vor sich hat kein "normales" Programmfenster z.B. aus seinem System ist.


----------



## RellikPoc (13. Aug 2004)

Hmm...klingt fies.
Wie schaut's denn dann bei Applikationen aus? (bei mir ist's nämlich kein Applet, wobei ich's bei Applets gut finde)
Applikationen sind ja für gewöhnlich wohlwissend installiert, also gewollt. Ist da auch nix zu machen?
Vielen Dank schon mal für die bisherige und die kommenden Antworten.

MfG Poc


----------



## Roar (13. Aug 2004)

Applikationen sind was anderes als applets, und da hängt unten nix dran. wieso sollte auch!?


----------



## RellikPoc (13. Aug 2004)

Ich dachte eigentlich, dass mir der Unterschied zwischen Applikation und Applet klar sei.
Beispielsweise sollte ein Applet ja auch extra als ein solches deklariert werden, richtig?
Ist bei mir nirgends der Fall und trotzdem krieg ich eben diese dröge Leiste. Ich will mich keinesfalls drum streiten, dass sie da ist. Wer will sie haben? 
In meiner Anwendung erschaffe ich eine Instanz eines Frames, der vom JFrame abgeleitet ist. In diesen Frame lege ich ein Panel (abgeleitet vom JPanel, beinhaltet so wie der Frame kaum Änderungen zum Original, also nix signifikantes). In diesem Panel bringe ich via GridBagLayout drei weitere Panels unter (oben. mitte, unten) von denen zwei je ein Label, eine ComboBox und ein paar Buttons und das mittlere 'ne SplittPane, die sich mit 2 ScrollPanes füllt. Ich vermute allerdings nicht, dass darin der Grund für die Leiste liegt.
Ich finde das Ding halt etwas unschön und zuweilen verwirrend. Schließlich hab ich kein Applet.
btw: Der Thread-Name wurde geändert (nicht von mir). Hieß mal _"Statusbar" eines JFrame - wie kriegt man die weg?_
Nicht das mir hier wegen des Titels ein Strick gedreht wird 

MfG Poc


----------



## Roar (13. Aug 2004)

ja ehm aber wenn du kein applet hast dann is da auch keine leiste unten dran. mach doch erstmal n screenshot damit wir wissen ob das wirklich das ist was wir (ich) denke. 

ein Applet muss nicht extra "deklariert" werden. muss nur von Applet oder JApplet abgeleitet werden damit es im brausa/appletwieja angezeigt werden kann


----------



## RellikPoc (13. Aug 2004)

Nix abgeleitet...aber nun endlich die Screenies.





und




Wie man auf dem zweiten Bild sieht, hängt diese Leiste ja auch an den JOptionPane-Dialogen dran und ich möchte nochmal versichern, dass ich nirgendwo ein Applet implentiert, abgeleitet oder sonstwas hab...nix liegt mir zur Zeit ferner als ein Applet zu schreiben 

MfG Poc


----------



## bygones (13. Aug 2004)

das sind ja auch applets.... wie es dasteht...

ein JFrame hat das nicht:


----------



## Roar (13. Aug 2004)

aha.... sowas machst du also. von wegen bioinformatiker  *g*


----------



## bygones (13. Aug 2004)

Roar hat gesagt.:
			
		

> aha.... sowas machst du also. von wegen bioinformatiker  *g*


 :wink:  :roll: irgendwie muss man sich ja Geld verdienen

aber zu deiner Beruhigung: http://www.ebi.ac.uk/intact/mine


----------



## L-ectron-X (13. Aug 2004)

@RellikPoc: Ich glaube im Hintergrund Deines Bildes die Oberfläche von NetBeans erkannt zu haben.
Bei NetBeans muss man ziemlich genau hinsehen, wenn man die GUI per Maus zusammen baut.
Kleiner Tipp: Durchforste mal den Quellcode Deines Programmes, dort wirst Du sicher bei der Variablendeklaration eine Instanzvariable von Applet bzw. JApplet finden.
Es gab kein Problem beim Programmieren, weil JApplet von Applet erbt und Applet von Panel.
So gesehen hast Du auch noch AWT und Swing gemischt, was man besser nicht machen sollte.

Den Titel habe ich geändert, weil es keinen (J)Frame mit diesem Hinweis gibt. Das gibts nur in Verbindung mit (J)Applets.


----------



## RellikPoc (16. Aug 2004)

Wie soll ich's sagen?
Es ist kein Applet. Im gesamten Quellcode (alle 6 Dateien zzgl. 'ner Stub und 'ner Skel) taucht nirgendwo ein Wort auf, dass "applet" enthält.

@L-ectron-X:
Danke für die Tips. Arbeite daheim mit dem JBuilder X und GUIs hab ich seit VisualBasic nicht mehr mit der Maus zusammengezottelt.
Wie schwerwiegend ist es denn, AWT und Swing zu mischen? Hätte gedacht, dass sie recht kompatibel zueinander sind. Sicherlich enthalten sie teils ähnliche Elemente, aber AWT nutze ich nur für die Events und das Panel-Layout (GridBag), weil ich keinen anderen Weg kenne, diese zu nutzen. Sollte da der Fehler drin liegen?
Sonst bleibt mir nur nochmal zu sagen, dass es ein JFrame ist, in dem ein Panel mit GridBagLayout ruht, in das 3 Panels eingebettet sind. (mögliche Fehlerquelle?)
Es handelt sich bei dem Ding um eine eigenständige Applikation, welche mittels RMI Explorer-Tätigkeiten auf dem Server ausführt.
Um es auszuführen benötigt man keinen Applet-Viewer, keinen Java-fähigen Browser, etc.
Kommt das so selten vor? 

MfG Poc


----------



## L-ectron-X (16. Aug 2004)

Zum Mischen von Swing und AWT:
http://www.java-forum.org/de/viewtopic.php?t=5113

AWT für Layout und Events ist kein Problem. Es sollten nur nicht grafische Komponenten von Swing und AWT gemischt werden.


----------



## RellikPoc (16. Aug 2004)

Gut, dann brauch ich also wegen dem Mix erstmal keine Schuldgefühle kriegen. Verläuft so weit alles in geregelten Bahnen.
Also zurück zum eigentlichen Problem: Ich hab kein Applet, aber 'ne Statusbar, die das behauptet.
Ist das jetzt der Zeitpunkt an dem ich haufenweise Code poste, über den sich alle erstmal kaputtlachen, weil er halt von 'nem Noob ist? Erschrockene, bleiche Gesichter? Wütende Rufe, dass das noch ganz weit weg ist von der OOP? *GG*
Gebt mir 'ne Möglichkeit, euch zu beweisen, dass es kein Applet ist und der Balken da trotzdem dran hängt...

MfG Poc


----------



## Illuvatar (16. Aug 2004)

Mach mal

```
System.out.println (System.getSecurityManager().checkPermission (new AWTPermission ("showWindowWithoutWarningBanner")));
```

Und wenn du dann noch nen Screenie bringst wo das auf der Eingabeaufforderung ausgegeben wird, dann bin ich fast geneigt, dir zu glauben


----------



## RellikPoc (16. Aug 2004)

Wo soll ich das denn reinsetzen? In den Code des JFrame oder des Clients, der den JFrame aufruft? 
Im Client gibt's nur 'ne Fehlermeldung, da checkPermission keinen Wert zurückliefert und somit System.out.println() rummotzt, dass er nichts anzuzeigen hat...

MfG Poc


----------



## Illuvatar (16. Aug 2004)

Da wo der JFrame aufgerufen wird. Da is aber natürlich nen Fehler drin, ich meinte das:

```
try{
    System.getSecurityManager().checkPermission (new AWTPermission ("showWindowWithoutWarningBanner"));
    System.out.println ("allowed");
}catch (SecurityException e){
    System.out.println ("not allowed");
}
```


----------



## RellikPoc (16. Aug 2004)

Er meldet "not allowed".

Hat der da jetzt meinen RMISecurityManager zu abgefragt?

MfG Poc


----------



## RellikPoc (16. Aug 2004)

Oder kann es sein (RMI benötigt ja eine security policy ect ect ganz wie ein signiertes applet ), das die VM da aufs gesicht fällt und der meinung ist, da dem prog per securitymanager rechte gegeben werden, muss es ein applet sein ??? (nen kollege hat die leiste auch, seit er in sein projekt einen RMI client / server eingebaut hat)

MfG Poc (mit Kollegen an der Seite)


----------

