Как я могу отправить строку из моего приложения Swing в javascript?

#java #javascript #swing #applet

#java #javascript #swing #апплет

Вопрос:

я пытаюсь отправить строку из моего приложения swing на javascript, я пытался использовать JSObject sendIt = JSObject.GetWindow (this); но я получаю следующую ошибку

«потому что метод GetWindow в классе netscape.javascript.JSObject не может быть применен к заданным типам; требуется: java.applet.Найден апплет: причина работы: фактический аргумент work не может быть преобразован в java.applet.Преобразование апплета с помощью вызова метода»

части моего кода ниже

 public class work extends javax.swing.JFrame {

    private void uploadButtonMouseClicked (java.awt.event.MouseEvent evt) {
        // System.out.println("its here");
        theHash = (String) sender.uploadFunction(filesArray[i], uuid);
        System.out.println("Uploading "   filesArray[i]   "n");
        JSObject sendIt = JSObject.getWindow(this); //error       
    }
}         
  

Комментарии:

1. 1) Исправьте форматирование, если ваш код. 2) Каким образом объект JFrame будет иметь контекст javascript, с которым можно работать? Вот о чем говорит ошибка; вы не находитесь в среде апплета. Что вы пытаетесь сделать и почему? Вы говорите о двух разных частях; Java обычно является серверной частью, а Javascript является интерфейсной частью / клиентской частью.

2. я создаю приложение перетаскивания для загрузки файлов через sftp, все файлы, удаленные в область jtext, загружаются и сохраняются на сервере в папке со случайным строковым именем для каждой загрузки, я хотел бы передавать это строковое имя функции javascript после каждой загрузки

3. Взгляните на документ об обмене данными между Java и Javascript .

Ответ №1:

Вы можете вызывать только JSObject.getWindow(this) из своего объекта Applet, поэтому ‘this’ должно быть ссылкой на объект Applet.

Кстати, вы должны включить это в своем теге апплета:

 <APPLET code="..." width="..." height="..." MAYSCRIPT>