Impulse-
Lt. Junior Grade
- Registriert
- Aug. 2009
- Beiträge
- 323
Hi,
Ich komme gerade nicht mehr weiter. Das Ziel: JavaScript übergibt dem Java Applet Variablen, die das Applet dann in eine Textdatei schreibt. Außerdem kann das JavaScript mit Hilfe des Applets diese Textdatei wieder auslesen, das klappt schon
. Alles wird lokal ausgeführt, das Applet habe ich signiert. Das Applet alleine funktioniert auch wunderbar, aber wenn ich über das JavaScript die WriteText-Methode ausführen will, passiert nichts und ich sehe auch keine Fehler in der Konsole 
der HTML-Code:
das Applet:
Wenn ich das Applet über den Applet-Write-Button steuere, funktioniert das Schreiben. Also muss der Code doch passen?
Ich bin gerade sehr ratlos. Danke für eure Hilfe!
Ich komme gerade nicht mehr weiter. Das Ziel: JavaScript übergibt dem Java Applet Variablen, die das Applet dann in eine Textdatei schreibt. Außerdem kann das JavaScript mit Hilfe des Applets diese Textdatei wieder auslesen, das klappt schon


der HTML-Code:
Code:
<html>
<body>
<object type="application/x-java-applet;version=1.4.1" name="japp" id="japp" width="250" height="60">
<param name="archive" value="points.jar">
<param name="code" value="com.points.Points">
<param name="mayscript" value="yes">
<param name="scriptable" value="true">
</object>
<form name=Buttons>
<input type=button value="Read" onClick="document.japp.ReadText();">
<input type=button value="Write" onClick="document.japp.WriteText();">
</form>
</body>
</html>
das Applet:
Code:
package com.points;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.applet.Applet;
public class Points extends Applet {
Button read = new Button("Read");
Button write = new Button("Write");
Label label = new Label("Punkte:");
TextField tfield = new TextField(3);
public void init(){
setBackground(new java.awt.Color(0, 0, 0));
add(tfield);
tfield.setFont(new java.awt.Font("Arial", 0, 40));
tfield.setForeground(java.awt.Color.red);
add(label);
label.setBackground(new java.awt.Color(0, 0, 0));
label.setForeground(new java.awt.Color(255, 255, 255));
label.setFont(new java.awt.Font("Arial", 1, 16));
add(write);
write.addActionListener(new ActionListener (){
public void actionPerformed(ActionEvent e){
WriteText();
}
});
add(read);
read.addActionListener(new ActionListener (){
public void actionPerformed(ActionEvent e){
ReadText();
}
}
);
ReadText();
}
public void WriteText(){
deleteText();
try {
File f = new File("D:\\Software\\Source\\HTML\\points.txt");
if(f.exists()){
BufferedWriter out = new
BufferedWriter(new FileWriter(f,true));
if(tfield.getText().equals("")){
JOptionPane.showMessageDialog
(null,"Please enter your text!");
tfield.requestFocus();
}
else{
out.write(tfield.getText());
if(f.canWrite()){
/*
JOptionPane.showMessageDialog(null,
"Text is written!");
*/
tfield.setText("ok");
}
else{
JOptionPane.showMessageDialog(null,
"Text isn't written!");
}
out.close();
}
}
}
catch(Exception x){
x.printStackTrace();
}
}
public void deleteText() {
try {
FileWriter w = new FileWriter("D:\\Software\\Source\\HTML\\points.txt");
w.write("");
} catch (Exception e) {
}
}
public void ReadText(){
try {
File f = new File("D:\\Software\\Source\\HTML\\points.txt");
if(f.exists()){
BufferedReader in = new
BufferedReader(new FileReader(f));
String str;
while ((str = in.readLine()) != null) {
tfield.setText(str);
}
in.close();
}
}
catch(Exception x){
x.printStackTrace();
}
}
}
Wenn ich das Applet über den Applet-Write-Button steuere, funktioniert das Schreiben. Also muss der Code doch passen?
Ich bin gerade sehr ratlos. Danke für eure Hilfe!
Zuletzt bearbeitet: