java — JSObject.getWindow (this) возвращает ноль

Мне удалось (после серьезной борьбы) загрузить мой апплет в мой браузер Firefox, но в коде Java для моего апплета JSObject.getWindow (this) возвращает нуль по какой-то причине, которую я не могу понять.

Вот мой Java-код для апплета:

import java.applet.*;
import javax.swing.*;
import netscape.javascript.*;
import java.net.*;
import java.io.*;
import java.awt.*;

public class JavaSocketBridge extends JApplet {

// Instance variables
JSObject browser = null;        // The browser
Socket socket = null;           // The current socket
PrintWriter out = null;         // Output
Listener listener = null;       // Listens for input
boolean running = false;        // Am I still running?
String address = null;          // Where you will connect to
int port = -1;                  // Port
boolean connectionDone = false; // Thread synchronization
public String message = "";

// Initialize
public void init(){
try
{
browser = JSObject.getWindow(this); //see bottom of code for comment
}
catch(Exception e)
{
message += "EXCEPTION: " + e.getMessage() + "     THIS: " + this;
}
}

// Stop and destroy
public void stop(){
running = false;
disconnect();
}
public void destroy(){
running = false;
disconnect();
}

public void start(){
//other code here
}
}

Я пытался переместить browser = JSObject.getWindow(this); линия к началу start() метод как предложено Вот, но я все еще остаюсь без удачи. И текст, содержащийся в message переменная:

Сообщение: ИСКЛЮЧЕНИЕ: null ЭТО: JavaSocketBridge [panel50,0,0,0×0, недействительно, layout = java.awt.BorderLayout, rootPane = javax.swing.JRootPane [, 0,0,0×0, недействительно, layout = javax.swing. JRootPane $ RootLayout, alignmentX = 0,0, alignmentY = 0,0, граница =, е, флаги = 16777673, MaximumSize =, MinimumSize =, PreferredSize =], rootPaneCheckingEnabled = истина]

Вот мой PHP-файл:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<script type="text/javascript" src="JavaSocketBridge/java_socket_bridge.js"></script>
</head>
<body>
<applet id="JavaSocketBridge" code="HelloWorldApplet.class" archive="./JavaSocketBridge/JavaSocketBridge.jar" height="200" width="2000"></applet>;
<?php
echo "  <script>
console.log('Applet is connected: ' + socket_connect('".$_SESSION['ip']."', '".$_SESSION['port']."'));
console.log('Flag Status: ' + is_ready());
</script>";
?>
</body>
</html>

3

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …