Hallo,
Ich habe folgendes Probelm,
Habe ein Quiz geschrieben und möchte alle 10 Fragen zwichen-speichern, fall jemand den Quiz nicht mit dem Beenden Knopf (und damit ein Event auslöst) verlässt sondern den Brwoserfenster weg klickt.
***** QUIZ *****
Beim richtig verlassen des Games "Spiel beenden"
Jetzt habe ein ein neues event definiert, das Zwischenspeichern heisst,
sollte genau dasselbe tun aber in Hintergrund. Der Anwender sollte davon nichts mitbekommen.
Leider öffnet sich immer wieder ein neues Fenster im Hintergrund, und habe schon paar Parameter bei
Zeile 41: Context.showDocument(url, "_blank"); versucht und zwar ( inhalt, "_self", null ) keines hat Verbesserung gebracht.
Irgendwelche Idee was ich da ändern muss ... bin schon seit halben Tag am ausprobieren ???:L
Ich habe folgendes Probelm,
Habe ein Quiz geschrieben und möchte alle 10 Fragen zwichen-speichern, fall jemand den Quiz nicht mit dem Beenden Knopf (und damit ein Event auslöst) verlässt sondern den Brwoserfenster weg klickt.
***** QUIZ *****
Beim richtig verlassen des Games "Spiel beenden"
Java:
public void abbrechen(){
//---------------------------------------------------------------------------------------- hier die speicherung ändern bei mehr optionen ----------------
SimpleDateFormat sdf = new SimpleDateFormat("dd...HH.mm.ss");
ende = sdf.format(new Date());
prozent = anzahl_richtige_antworten.doubleValue() / anzahl_beantwortete_fragen.doubleValue();
prozent = prozent*10000;
prozent = (double) Math.round(prozent);
prozent = prozent/100;
String dateiName = null;
if(exp == 0)
dateiName = "" + name + beginn + "_Richtig_Falsch";
else if(exp == 1)
dateiName = "" + name + beginn + "_Richtig_Falsch_Ranking";
else if(exp == 2)
dateiName = "" + name + beginn + "_Ranking";
else if(exp == 3)
dateiName = "" + name + beginn + "_Kontrollgruppe";
else if(exp == 4)
dateiName = "" + name + beginn + "_Irrelevant_Ranking";
String inhalt = DatenSpeichern.saveBase64inTextFile(beginn, ende, dateiName,
result,
anzahl_richtige_antworten,
anzahl_beantwortete_fragen, anzahl_gelesene_fragen, prozent, heading);
URL url = null;
try {
if(exp == 0)
url = new URL(URL_SERVER+"save.php?filename=Richtig_Falsch & inhalt="+inhalt);
else if(exp == 1)
url = new URL(URL_SERVER+"save.php?filename=Richtig_Falsch_Ranking & inhalt="+inhalt);
else if(exp == 2)
url = new URL(URL_SERVER+"save.php?filename=Ranking & inhalt="+inhalt);
else if(exp == 3)
url = new URL(URL_SERVER+"save.php?filename=Kontrollgruppe & inhalt="+inhalt);
else if(exp == 4)
url = new URL(URL_SERVER+"save.php?filename=Irrelevant_Ranking & inhalt="+inhalt);
AppletContext Context = getAppletContext();
Context.showDocument(url, "_blank");
}
catch (Exception e) {
}
JOptionPane dialog = new JOptionPane();
String string = "Du hast " + prozent + "% der Fragen richtig beantwortet. \nVielen Dank für deine Teilnahme am Experiment!";
JTextArea fertig = new JTextArea(string);
fertig.setEditable(false);
fertig.setOpaque(false);
fertig.setFont(new Font("Arial", Font.PLAIN, 20));
dialog.showMessageDialog(null, fertig);
this.setVisible(false);
}
Jetzt habe ein ein neues event definiert, das Zwischenspeichern heisst,
sollte genau dasselbe tun aber in Hintergrund. Der Anwender sollte davon nichts mitbekommen.
Java:
public void zwischenspeichern(){
//---------------------------------------------------------------------------------------- hier die speicherung ändern bei mehr optionen ----------------
SimpleDateFormat sdf = new SimpleDateFormat("dd...HH.mm.ss");
ende = sdf.format(new Date());
prozent = anzahl_richtige_antworten.doubleValue() / anzahl_beantwortete_fragen.doubleValue();
prozent = prozent*10000;
prozent = (double) Math.round(prozent);
prozent = prozent/100;
String dateiName = null;
if(exp == 0)
dateiName = "" + name + beginn + "_Richtig_Falsch";
else if(exp == 1)
dateiName = "" + name + beginn + "_Richtig_Falsch_Ranking";
else if(exp == 2)
dateiName = "" + name + beginn + "_Ranking";
else if(exp == 3)
dateiName = "" + name + beginn + "_Kontrollgruppe";
else if(exp == 4)
dateiName = "" + name + beginn + "_Irrelevant_Ranking";
String inhalt = DatenSpeichern.saveBase64inTextFile(beginn, ende, dateiName,
result,
anzahl_richtige_antworten,
anzahl_beantwortete_fragen, anzahl_gelesene_fragen, prozent, heading);
URL url = null;
try {
if(exp == 0)
url = new URL(URL_SERVER+"save.php?filename=Richtig_Falsch & inhalt="+inhalt);
else if(exp == 1)
url = new URL(URL_SERVER+"save.php?filename=Richtig_Falsch_Ranking & inhalt="+inhalt);
else if(exp == 2)
url = new URL(URL_SERVER+"save.php?filename=Ranking & inhalt="+inhalt);
else if(exp == 3)
url = new URL(URL_SERVER+"save.php?filename=Kontrollgruppe & inhalt="+inhalt);
else if(exp == 4)
url = new URL(URL_SERVER+"save.php?filename=Irrelevant_Ranking & inhalt="+inhalt);
AppletContext Context = getAppletContext();
Context.showDocument(url, "_blank");
// inhlat nicht
//self nicht
// null
}
catch (Exception e) {
}
}
Leider öffnet sich immer wieder ein neues Fenster im Hintergrund, und habe schon paar Parameter bei
Zeile 41: Context.showDocument(url, "_blank"); versucht und zwar ( inhalt, "_self", null ) keines hat Verbesserung gebracht.
Irgendwelche Idee was ich da ändern muss ... bin schon seit halben Tag am ausprobieren ???:L
Zuletzt bearbeitet: