Applet Vaiable als Parameter übergeben

mattn

Aktives Mitglied
hi leuts,
ich will mein applet einfach einen parameter übergeben welcher der user eingeben kann/muss

hier das mini formular
Java:
<form name="Uebergabe" onsubmit="return setParams()">
  <input type="text" name="Anzahl">
  <input type="reset" name="Reset" value="Reset">
  <input type="submit" name="Senden" value="Senden">
</form>


hier die js-fkt im html header

Java:
<script language="JavaScript">
<!--
  function setParams(){
    var tmp;
    tmp=parseInt(document.Uebergabe.Anzahl.value);
    alert(tmp);
    document.TestUniverse.test.value = tmp;
  }
//-->
</script>

und nun der code vom applet tag

Java:
<applet code="TestUniverse.class" name="TestUniverse" width="100%" height="100%" >
  <param name= test value="300" />
</applet>

ich hab erstmal wieder die 300 als value reingeschrieben, um zu testen ob das mit der übergabe klappt.. ja so klapps.. is aber recht statisch... weiß jemand warum das nicht klappt

edit:
ich habe auch schon versucht
document.TestUniverse.test.value = tmp; rauszunehmen und dafür bei value im applet tag tmp reinzuschreiben
geht auch nicht
 
Zuletzt bearbeitet:
Du müsstest ja die Seite mit dem neuen Wert neu laden. Oder zumindest das Applet irgendwie neu laden.
Warum lässt den User die Eingaben nicht direkt im Applet vornehmen?
 
Wenn man es nicht so wie in dem Bsp machen will, besteht sicherlich die Möglichkeit per JavaScript via
Code:
document
den Quelltext der Seite entsprechend umzubauen bzw. den Parameter zu setzen und die Seite neu zu laden, bzw. die init() des Applets aufzurufen.

Verstehe allerdings immer noch nicht, warum man nicht bevor der der eigentliche Inhalt im Applet dargestellt wird, einfach den Wert im Applet abfragt. Oder verwendest Du ein fremdes Applet und hast keinen Zugriff auf den Quellcode?
 
es handelt sich um ein java3d applet
die ganze visualisierung soll mittels javascript kommunizieren können
--> das was ich gerade versuche dient nur zum test ob es geht(geht bestimmt) bzw wie es geht

das der code im applet erwartet einen parameter mit den namen "test" und "arbeitet" dann mit dem value.

hier der entscheidende code im applet (init)
Java:
//Wenn kein Parameter übergeben wurde wird nur ein Knoten ausgegeben
if ([B]getParameter("test")[/B] != null){
  //Parameter holen und zu Int. Casten 
  paraWuerfelanzahl = Integer.parseInt(getParameter("test"));
  System.out.println("Parameter nach dem cast: " + paraWuerfelanzahl);
}
else {
  paraWuerfelanzahl = 1;
  System.out.println("Parameterübergabe fehlgeschlagen Würfelanzahl(default): " +paraWuerfelanzahl);
}
//Funktion SceneGraph(bauen) aufrufen + Anzahl der Knoten übergeben 
u.addBranchGraph(createSceneGraph(paraWuerfelanzahl));

das mit dem übergeben mittels
Java:
<param name: value:"">
geht ist aber nicht ziel des programmes(so statisch zu halten)
 
OK, ich aktzeptiere jetzt mal den Wunsch ein Applet per JavaScript zu steuern ;-)

Aber warum willst Du das unbedingt über Manipulation des param Tags des Applets erreichen?
Es gibt ja - wie das Beispiel zeigt - mit JavaScript auch andere Möglichkeiten "Parameter" an das Applet zu übergeben.
 
OK, ich aktzeptiere jetzt mal den Wunsch ein Applet per JavaScript zu steuern ;-)

wie gütig von dir ^^

ja das mit dem param war meine erste idee...

habs auch schon so versucht ... so zu machen
Java:
document.TestUniverse.test.value = document.Maske.Anzahl.value;
dacht mir aber schon das das nicht geht ...
wie du vllt merkst bin ich bei sowas noch nicht fit^^
can u help mich 🙂
 
Hier mal etwas ähnlich dem anderen Bsp.
Das Applet:
Java:
import java.awt.BorderLayout;

import javax.swing.JApplet;
import javax.swing.JLabel;

public class AppletTest extends JApplet {
	private int count;
	private String param1, param2;
	private JLabel counter;
	private JLabel content;
	
	public void init() {
		count = 0;
		this.getContentPane().add(content = new JLabel("", JLabel.CENTER), BorderLayout.CENTER);
		this.getContentPane().add(counter = new JLabel(""+count, JLabel.RIGHT), BorderLayout.NORTH);
		param1 = this.getParameter("test");
		param2 = "initial";
		content.setText("Parameter1: " + param1 + " Parameter2: " + param2);
	}
	
	public void setParameter(String paramName, String param) {
		if (paramName.equalsIgnoreCase("param1"))
			this.param1 = param;
		else if (paramName.equalsIgnoreCase("param2"))
			this.param2 = param;
	}
	
	public void repaint() {
		counter.setText("" + (++count));
		content.setText("Parameter1: " + param1 + " Parameter2: " + param2);
		super.repaint();
	}
}
Die WebSite:
HTML:
<html><body>
<form name="InputForm">
<input type="text" name="Parameter1"/><br>
<input type="text" name="Parameter2"/><br>
<input type="button" value="Submit"
	onClick="javascript:
	document.AppTest.setParameter('param1', document.InputForm.Parameter1.value);
	document.AppTest.setParameter('param2', document.InputForm.Parameter2.value);
    document.AppTest.repaint();"/>
</form>
<applet name= "AppTest" code="AppletTest.class" width="600" height="95">
    <param name="test" value=""/>
</applet>
</body></html>
 
so ähnlich hat ich es auch schonmal versucht da ging es nicht ....

aber heut ging es auf einmal.. habe wohl ein detail anders gemacht... keine ahnung was aber nun geht es ... toll danke :toll:
 

Neue Themen


Zurück
Oben