Spec-Zone .ru
спецификации, руководства, описания, API
|
Код JavaScript веб-страницы может взаимодействовать с апплетами Java, встроенными на странице. Код JavaScript может выполнить операции, такие как следующее:
Спецификация LiveConnect описывает детали о том, как код JavaScript связывается с кодом Java.
Эта тема исследует код JavaScript к передаче апплета Java, используя Математический пример апплета. MathApplet
class и поддержка Calculator
class обеспечивает ряд открытых методов и переменных. Код JavaScript веб-страницы вызывает и оценивает эти общедоступные элементы, чтобы передать данные и получить вычисленные результаты.
Вот исходный код для
class. MathApplet
getCalculator
метод возвращает ссылку на Calculator
помощник class.
package jstojava; import java.applet.Applet; public class MathApplet extends Applet{ public String userName = null; public String getGreeting() { return "Hello " + userName; } public Calculator getCalculator() { return new Calculator(); } }
Методы в
class, которому позволяют пользовательский набор, два значения, добавляют числа, и получают числа в диапазоне.Calculator
package jstojava; public class Calculator { private int a = 0; private int b = 0; // assume b > a public void setNums(int numA, int numB) { a = numA; b = numB; } public int add() { return a + b; } public int [] getNumInRange() { int x = a; int len = (b - a) + 1; int [] range = new int [len]; for (int i = 0; i < len; i++) { range[i]= x++; System.out.println("i: " + i + " ; range[i]: " + range[i]); } return range; } }
getDate
метод
class возвращает текущую дату.DateHelper
package jstojava; import java.util.Date; import java.text.SimpleDateFormat; public class DateHelper { public static String label = null; public String getDate() { return label + " " + new SimpleDateFormat().format(new Date()); } }
Разверните апплет в веб-странице,
Развертывая апплет, удостоверьтесь, что Вы определяете идентификатор для апплета. Идентификатор апплета используется позже, чтобы получить ссылку на объект апплета.AppletPage.html
<script src= "http://www.java.com/js/deployJava.js"></script> <script> <!-- applet id can be used to get a reference to the applet object --> var attributes = { id:'mathApplet', code:'jstojava.MathApplet', width:1, height:1} ; var parameters = {jnlp_href: 'math-applet.jnlp'} ; deployJava.runApplet(attributes, parameters, '1.6'); </script>
Затем, добавьте некоторый код JavaScript к
веб-страница. Код JavaScript может использовать идентификатор апплета, поскольку ссылка на апплет возражает и вызывает методы апплета. В примере, показанном затем, кодовые наборы JavaScript общедоступные задействованные переменные апплета, вызывает открытые методы, и получает ссылку на другой объект, на который ссылается апплет (AppletPage.html
Calculator
). Код JavaScript в состоянии обработать примитивный, массив, и объектные типы возврата. Код JavaScript может также вызвать методы от классов или объектов в других пакетах, используя Packages
ключевое слово.
<script language="javascript"> function enterNums(){ var numA = prompt('Enter number \'a\'?','0'); var numB = prompt( 'Enter number \'b\' (should be greater than number \'a\' ?','1'); // set applet's public variable mathApplet.userName = "John Doe"; // invoke public applet method var greeting = mathApplet.getGreeting(); // get another class referenced by applet and // invoke its methods var calculator = mathApplet.getCalculator(); calculator.setNums(numA, numB); // primitive datatype returned by applet var sum = calculator.add(); // array returned by applet var numRange = calculator.getNumInRange(); // "Packages" keyword; check Java console log // for this message mathApplet.Packages.java.lang.System.out. println("Testing printing to System.out"); // Set static field using "Packages" keyword; // static methods may be similarly invoked mathApplet.Packages.jstojava.DateHelper.label = "Today\'s date is: "; // Create an instance of a class and invoke // method using "Packages" keyword var dateHelper = new mathApplet.Packages.jstojava.DateHelper(); var dateStr = dateHelper.getDate(); <!-- ... --> </script>
Математический апплет выводит на экран следующие результаты на веб-странице когда число a = 0 и b = 5:
Results of JavaScript to Java Communication Hello John Doe a = 0 ; b = 5 Sum: 5 Numbers in range array: [ 0, 1, 2, 3, 4, 5 ] Today's date is: 1/13/09 10:12 AM //shows current date
Открытый
в браузере, чтобы просмотреть Математический апплет.AppletPage.html
Если Вы не видите, что апплет работает, Вы должны установить, по крайней мере,
Если Вы не видите, что пример работает, Вы, возможно, должны были бы включить интерпретатору JavaScript в своем браузере так, чтобы сценарий Инструментария Развертывания мог функционировать должным образом.
Проверьте
Загрузите исходный код для Методов Апплета Вызова От Примера кода JavaScript, чтобы экспериментировать далее.