Erneut hallo ihr Wissenden,
weiß vielleicht jemand, welche Java Klasse ich importieren muss, wenn ich einen Button anklicken will, und sich daraufhin in einen anderem Frame eine von mir gewählte .htm Datei öffnet?
wie jetzt?
Also, wenn du einen Link oder ein Form in einem neuen Frame öffnen willst (Ich meine so ne .htm datei) dann ist das HTML und in deinem bzw muss ein target="_blank" hin.
Keine Klasse zu importieren.
Ich vermute jetzt mal, du arbeitesst mit Servlets/JSPs und willst mit einem Button deine Daten an ein JSP schicken.
Oder?
Nicht so ganz!
Nun, danke für den HTML Tipp, aber das meinte ich nicht! Wenns nur so einfach wäre *g*!
Also, die Sache ist die!! Ich habe ein Javaapplet, und wenn man da auf die Buttons klickt, dann öffnet sich eine neue URL in einem neuen Fenster, meinetwegen www.google.de.
So, nun ist aber in der zugehlrigen HTML Datei, bei der man meistens die Attribute des Applets verändern kann, keine Veränderung vorgesehen, die Links öffnet, und keine Buttons. Ich habe mit nun den Javaquellcode des Applets zu Gemüte geführt, und die verantwortliche Klasse gefunden.
SO, und nun möchte ich diese Klasse (die die URLs öffnet) ersetzen durch eine Klasse, die mir Links in einem Frame meiner Seite öffnet.
Und nach so einer Klasse und dem dazugehörigen Quellcode frage ich nun!
„Mein Autoradio spielt immer Popmusik. Gegen welches Modell muss ich es austauschen, damit es klassische Musik spielt?“
Im Ernst: Wieso glaubst du, da eine Klasse austauschen zu müssen? Und wieso glaubst du, dass irgendwo eine fertige Klasse existiert, die dieselbe Schnittstelle implementiert wie die vorhandene und dabei genau das macht was du haben willst?
Handelt es sich etwa um eine Klasse aus dem Standard-Java-API? In diesem Fall wäre der Klassenname ein sehr hilfreiches Detail…
Wenn dir der Quellcode zur Verfügung steht, dann poste doch mal ein paar Schipsel davon. Vielleicht muss ja nur ein Parameter eines Methodenaufrufs geändert werden.
und nun?
import java.applet.Applet;
import java.applet.AppletContext;
import java.io.PrintStream; import java.net.URL;
…
public void comprobarImagen(int i)
{
if(i > altura && i URL url = new URL(„http://“ + direccion);
applet.getAppletContext().showDocument(url, „main“);
}
catch(Exception exception)
{
applet.getAppletContext().showStatus(„Enlace Roto“);
}
}
}
So, hier ist ein Teil des Codes, und er ruft nun, wie man sieht, im ickmarkierten Bereich, eine Klasse auf, die URL enthält. Damit kann erunten einen Aufruf starten, womit er durch einen Link eine neue Seite öffnen kann!! Nun will ich aber keine neue Seite öffnen, sondern nur einen neuen Frame in meine Seite laden. Dazu brauche ich nun einen Aufruf der das macht, und die dazugehörige Klasse, die ich leider nicht kenne!
Wow, es gibt einfach Leute, die habens drauf! Du gehörst dazu!
Vielen dank, es funktioniert bestens.
Ich weiß zwar nicht, wie ich dir danken kann, aber sei dir sicher, du hast mir echt weitergeholfen.
Jetzt nur noch eine Frage: Ich will nun aber keine URL´s vom Typ: „http://…“ öffnen, sondern Links aus einem Verzeichnis auf meinem Server, der Art „test.htm“! Welchen Teil muss ich nun ändern?
Ich weiß zwar nicht, wie ich dir danken kann, aber sei dir
sicher, du hast mir echt weitergeholfen.
Man muss nur wissen, wo man nachschauen muss. Die Java-Doku ist die erste Anlaufstelle für solche Fragen.
Hier noch der Link zur Einstiegsseite: http://java.sun.com/j2se/1.4.2/docs/api/
Jetzt nur noch eine Frage: Ich will nun aber keine URL´s vom
Typ: „http://…“ öffnen, sondern Links aus einem
Verzeichnis auf meinem Server, der Art „test.htm“! Welchen
Teil muss ich nun ändern?
Der URL ist der gleiche, wie wenn du die Datei im Webbrowser öffnen würdest, also „file://localhost/“
Liegt die Datei also auf C:\verzeichnis\unterverzeichnis\test.htm , so lautet ihr URL file://localhost/C:/verzeichnis/unterverzeichnis/test.htm
Was du nun an der konkreten Codezeile
URL url = new URL("http://" + direccion);
ändern musst, hängt davon ab, was genau du in der String-Variablen direccion übergibst. (Das „+“-Zeichen klebt ja nur zwei Strings zusammen.)
Letztenendes muss das dabei herauskommen:
URL url = new URL("file://localhost/C:/verzeichnis/unterverzeichnis/test.htm");