# Applets und Frameseiten



## NagaSacki (9. Jun 2004)

Hallo,

ich hab absolut keine Ahnung von Java und hab mir ein fertiges NaviMenu besorgt.

Ich habe es in den Kopfframe meiner Seite eingebaut.
Die Seite besteht nur aus Kopf (oben.htm) und dem Hauptframe (haupt.htm).

Nun möchte ich aber das beim Klick auf einen Button des Menüs die angeforderte Seite im Hauptframe angezeigt wird und nicht im oberen Frame und das krieg ich net hin.

Hier die Seite http://www.kartwars.de
Kann mir da jemand helfen wie ich das umschreiben muss (Quelltext kann angeschaut werden).

Danke für Eure Hilfe.

Naga


----------



## der Pate (9. Jun 2004)

wie wärs mit


```
try
        {
        URL url;
         String frame = "haupt"
        context = getAppletContext();
        
            url = new URL(getCodeBase()+"ziel.html");
            
        
        showStatus(url.toString());
        context.showDocument(url, frame);
        }
        catch(MalformedURLException e)
        {
        }
```


----------



## NagaSacki (9. Jun 2004)

Schau dir doch den Quelltext der Seite mal schnell an - irgendwie iss da alles anders.......

Mit deinem Vorschlag kann ich gar net umgehen....

Naga


----------



## L-ectron-X (9. Jun 2004)

@der Pate: Er hat keine Ahnung von Java. Lies doch mal sein Eingangsposting.

Ich habe mal ein Applet mit ähnlicher Funktion mit einer Drop Down Liste (Choice) geschrieben. Dort habe ich ein Parameter-Tag eingefügt, welches mir erlaubte, den Frame festzulegen, in dem die zu ladende Seite angezeigt werden soll.
Ich schätze ohne Dekompilierung, den Quelltext des Applets oder einer Parameter-Beschreibung, kommst Du hier nicht weit.
Die entscheidende Codezeile aus der Pate's Quelltextbeispiel ist:

```
context.showDocument(url, frame);
```
Nur so am Rande.


----------



## Guest (9. Jun 2004)

Also folgendermassen sieht das Teil aus:


```
<applet code="vrover3.class" align="baseline" width="617" height="28" id="vrover">
  <param name="bkColor" value="4497616">
  <param name="fgColor" value="0">
  <param name="h" value="28">
  <param name="style" value="1">
  <param name="text" value="Home, Über KartWars, Mietbedingungen, Miet-Kalender, Gästebuch">
  <param name="url" value="http://members.fortunecity.com/energy96/, [url]http://www.nagasacki.de/kartwars/ueber.htm[/url], [url]http://members.fortunecity.com/energy96/[/url], [url]http://members.fortunecity.com/energy96/[/url], http://members.fortunecity.com/energy96/">
   <param name="w" value="125">
</applet>
```

Aber leider zeigt das mir die Seite immer im oberen Frame an.

Was muss ich nun tun?


_Edit von L-ectron-X: Code-Tags eingefügt._


----------



## L-ectron-X (9. Jun 2004)

Habe mir vorhin schon Deine Seiten mit dem Quelltext angesehen.
Ich bin mir jetzt nicht 100%ig sicher. Ich glaube nicht, dass Du ohne einen entsprechenden Parameter (param name)
festlegen kannst, in welchem Frame die Seite geladen werden soll. Das hängt auch vom Code des Applets ab, ob es überhaupt den Code dafür bereit stellt. Ich schaue mir das mal näher an.


----------



## Guest (9. Jun 2004)

Das ist sehr nett von dir - ich hab hier nämlich schon Stunden rumgesurft und rumprobiert - ich hab halt nun mal keinen Plan davon :-(


----------



## L-ectron-X (9. Jun 2004)

So, hat zwar etwas gedauert, aber ich glaube, ich habe die Lösung für Dein Problem.
Ich habe mich im Internet umgesehen, wo Deine Applet-Klasse mit Namen erwähnt wurde. Und so fand sich die Homepage vom Programmierer des Applets. Auf seiner Page liegt die Klasse im Quellcode zum Download.

Das Ergebnis:
Editiere die Webseite die das Applet einbettet (oben.htm) und füge zu den Parameter-Tags des Applets _vrover3.class_
folgendes hinzu:

```
<param name=frame value="Hauptframe">
```
Der Wert des Zielframes entspricht entweder dem von Dir vergebenen Namen (hier also "Hauptframe") oder dem target-Attribut (_self, _top, _parent und _blank). Der Name den Du dem Applet-Parameter _frame_ übergibst, muss exakt mit dem Namen übereinstimmen, den Du bei der Frame-Definition mit _name=_ vergeben hast.


----------



## Guest (9. Jun 2004)

Kannste dich aufn Kopf stellen, aber das funzt net.

Aber trotzdem vielen Dank für deine Mühe..........

Naga


----------



## L-ectron-X (9. Jun 2004)

Ja, gut. Ich habe da auch etwas unter den Tisch fallen lassen. Der Programmierer arbeitet mit Arrays, die die Texte, URLs und Targets speichern. Die vollständige Applet-Einbettung in Deine _oben.htm_:

```
<applet codebase="http://www.umfiasi.ro/mg/biocel/" code="vrover3.class" align="baseline" width="617" height="28" id="vrover">
  <param name="bkColor" value="4497616">
  <param name="fgColor" value="0">
  <param name="h" value="28">
  <param name="style" value="1">
  <param name="text" value="Home, Über KartWars, Mietbedingungen, Miet-Kalender, Gästebuch">
  <param name="url" value="http://members.fortunecity.com/energy96/, [url]http://www.nagasacki.de/kartwars/ueber.htm[/url], [url]http://members.fortunecity.com/energy96/[/url], [url]http://members.fortunecity.com/energy96/[/url], http://members.fortunecity.com/energy96/">
  <param name="frame" value="Hauptframe, Hauptframe, Hauptframe, Hauptframe, Hauptframe">
  <param name="w" value="125">
</applet>
```
Du musst also für jeden URL auch sein eigenes Target festlegen. deshalb die vielen "Hauptframe"-Notierungen.
Hat zumindest bei mir lokal auf dem Rechner mit eigenen Webseiten und URLs funktioniert. Möglicherweise musst Du noch die URLs vervollständigen. (index.htm) Die im Applet eingebettete Klasse java.net.URL arbeitet glaube ich nur mit einem vollständigen URL.


----------



## Guest (10. Jun 2004)

Vielen Dank für deine Mühe - 

ich habs dann jetzt hier auf meinem Rechner mit nem kleinen JavaProgram hinbekommen - da kann man den Targetframe in einer Benutzeroberfläche eingeben und das Applet wird automatisch per Klick erstellt.

Das hat herrlich funktioniert - nur sieht der Code nun wieder ganz anders aus.

Aber wie gesagt - trotzdem vielen Dank für deine/eure Mühe.

Sehr sehr nett  :toll:


----------

