# neue Daten in ein Applet posten



## tulamidan (17. Jan 2005)

Hallo Forum!

Ich habe folgendes Applet: U.A. zeigt das Applet verschiedene Bilder (welche auf dem Server liegen) an. Es gibt einen Button "next" mit dem man durch die Bilder sliden kann. Welches Bild als naechstes kommt wird aus einer DB geladen.
Meine idee hierzu war, dass ich ein PHP skript verwende. Ich starte dieses Skript und gebe im Header an welches Bild angezeigt werden soll. Das klappt soweit eigentlich ganz gut. Wenn ich jetzt auf den "Next" button klicke wollte ich genau das selbe Skript wieder aufrufen nur mit einem incementierten index. (ja das ist vielleicht nicht 100% toll aber es reicht fuer meine Beduerfnisse)
Leider passiert gar nichts wenn ich auf den button klicke. Kein neues Fernster, kein update des aktuellen...
Hat jemand eine idee dazu?

Hier ist der schnipsel PHP den ich verwende

```
echo "<applet code=imageviewer.class name=imageviewer width=800 height=700 >";
echo "        <param name=filename value=\"$location\">";
/*        "*/
echo "        <param name=background value=\"dark gray\">";
echo "        <param name=index value=\"$index\">";
echo "        <param name=background value=\"$pixelsize\">";
/*        " */
echo "        <param name=maxzoom value=\"4\">";
echo "        <param name=username value=\"$htmlUsername\">";

echo "</applet>";
```

Und hier der Teil meines Applets der den link aufrufen sollte...


```
if(target == mNext)
       {
  try
  {
    URL url;
    URLConnection urlConn;

    // URL of PHP script.
    url = new URL (getCodeBase().toString() + "switch.php?name="+userName+"&index="+index);
    debugWindows.append(url.toString());
    // URL connection channel.
    urlConn = (URLConnection)url.openConnection();
  }
  catch (MalformedURLException me)
  {
    debugWindows.append("MalformedURLException: " + me +"\n");
  }
         catch...
       }
```


----------



## Sky (17. Jan 2005)

1.) Wird die URL richtig zusammengebaut? (Mal in die Konsole tracen und gucken, ob es sich um das gewünschte Ergebnis handelt)
2.) Kann man die URL, welches im Applet erzeugt wird im 'normalen' Browser ausführen?? Wie ist das Ergebnis?


----------



## tulamidan (17. Jan 2005)

Ja, die URL wird richtig zusammengebaut (habe ich in einem debug Window ausgegeben) und die URL laesst sich auch im Browser ausfuehren und fuert zum gewuenschten Ergebniss...


----------



## Sky (17. Jan 2005)

Ok, nochmal genau hingeschaut und ich hab's gemerkt. Die Anweisung in Zeile 13 führt nicht dazu, dass die Seite geladen wird! Vgl API dazu:



			
				http://java.sun.com/... hat gesagt.:
			
		

> public URLConnection openConnection()
> throws IOExceptionReturns a URLConnection object that represents a connection to the remote object referred to by the URL.
> A new connection is opened every time by calling the openConnection method of the protocol handler for this URL.
> 
> ...



Es müsste eher so aussehen:

```
class myClass extends Applet (bzw. JApplet) {
  public void nextImage() {
    // ...
    this.getAppletContext().showDocument(url, "_self");
  }
}
```


----------



## tulamidan (17. Jan 2005)

You ara a STAR! :applaus: 

Ich hatte schon mal was aehnliches gemacht und da hat es so funktioniert. Aber dein Tip hat super geholfen einfach z13 durch ...showDocument(url,... erstezt und es klappt.

Besten Dank!  :toll:


----------



## Sky (17. Jan 2005)

Freut mich, dass Du das gewollte Ergebnis erzielt hast.

Ich wollte aber nochmal bemerken, dass es schönere Lösungen gibt. Momentan läd's Du jedesmal das Applet neu. Hier ist die Frage, ob überhaupt ein Applet benötigt wird!? Oder ob dein PHP einfach nur ein bißchen erweitert werden muss...
Auf der anderen Seite kann man natürlich auch evtl. das Applet mit dem PHP derart kommunizieren lassen, dass entweder nur der Filename übertragen wird oder direkt das Bild.
Vielleicht kann ja das Applet auch ohne PHP selbst die Filenamen berechnen (wenn es nur um Indizes geht...)

Grüsse, Sky


----------

