powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Передача objecta
23 сообщений из 23, страница 1 из 1
Передача objecta
    #39049300
mixon21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребята всем привет.
Подскажите пожалуйста как с java передать Object в javascript.


вот мой код подскажите что не правильно.


java

Код: java
1.
2.
3.
 private void MapScript(double mapX, double mapY, Object[] labelX, Object[] labelY){
        webEngine.executeScript("init(" + mapX + "," + mapY + ","+ labelX +","+ labelY +")");  
    }



javascript

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
 function init(x, y, xlabel, ylabel){
   
        myMap = new ymaps.Map("map", {
            center: [x, y],
            zoom: 10
        });
        
        blueCollection = new ymaps.GeoObjectCollection(null, {
            preset: 'islands#blueIcon'
        }),               

                  for(var i=0;i<xlabel.length;i++){   //-добавление координат метки на яндекс карту
                    blueCoords = [[xlabel[i],ylabel[i]]];
}
               
     for (var i = 0, l = blueCoords.length; i < l; i++) {
        blueCollection.add(new ymaps.Placemark(blueCoords[i]));
    }
       myMap.geoObjects.add(blueCollection);
       
       
             d.style.width='680px';
    d.style.height='680px';  
    myMap.behaviors.enable('scrollZoom'); //включаем зум при помощи колесика
    myMap.controls.add(new ymaps.control.TypeSelector(['yandex#map', 'yandex#satellite'])); //подключаем селектор типа карты (подключены: схема, спутник)
   firstButton = new ymaps.control.Button("Кнопка");
//myMap.controls.add(firstButton, {float: 'right'});

}
...
Рейтинг: 0 / 0
Передача objecta
    #39049302
mixon21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выдает ошибку


авторException in thread "JavaFX Application Thread" netscape.javascript.JSException: SyntaxError: Expected token ']'
at com.sun.webkit.dom.JSObject.fwkMakeException(JSObject.java:128)
at com.sun.webkit.WebPage.twkExecuteScript(Native Method)
at com.sun.webkit.WebPage.executeScript(WebPage.java:1427)
at javafx.scene.web.WebEngine.executeScript(WebEngine.java:948)
at price.FXMLDocumentController.MapScript(FXMLDocumentController.java:290)
at price.FXMLDocumentController.access$500(FXMLDocumentController.java:23)
at price.FXMLDocumentController$3.handle(FXMLDocumentController.java:172)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Scene$MouseHandler.process(Scene.java:3758)
at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3486)
at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762)
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2495)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:350)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:275)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$350(GlassViewEventHandler.java:385)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$$Lambda$209/27770896.get(Unknown Source)
at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:404)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:384)
at com.sun.glass.ui.View.handleMouseEvent(View.java:555)
at com.sun.glass.ui.View.notifyMouse(View.java:927)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$145(WinApplication.java:101)
at com.sun.glass.ui.win.WinApplication$$Lambda$36/17230114.run(Unknown Source)
at java.lang.Thread.run(Thread.java:745)



Подскажите где искать причину
Заранее спасибо.
...
Рейтинг: 0 / 0
Передача objecta
    #39049314
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mixon21,
правила хорошего тона говорят, давать ссылку на ранешнее обсуждение
...
Рейтинг: 0 / 0
Передача objecta
    #39049328
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mixon21, а так работает?

Код: javascript
1.
2.
function init(x, y, xlabel, ylabel){
}
...
Рейтинг: 0 / 0
Передача objecta
    #39049366
0FD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mixon21,

вот это
Код: java
1.
2.
3.
private void MapScript(double mapX, double mapY, Object[] labelX, Object[] labelY){
        webEngine.executeScript("init(" + mapX + "," + mapY + ","+ labelX +","+ labelY +")");  
}



будет примерно так
webEngine.executeScript("init(1,1,[Ljava.lang.Object;@834893489,[Ljava.lang.Object;@89348934892лл);
...
Рейтинг: 0 / 0
Передача objecta
    #39049500
mixon21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonmixon21, а так работает?

Код: javascript
1.
2.
function init(x, y, xlabel, ylabel){
}


Так тоже не работает
...
Рейтинг: 0 / 0
Передача objecta
    #39049502
mixon21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
0FDmixon21,

вот это
Код: java
1.
2.
3.
private void MapScript(double mapX, double mapY, Object[] labelX, Object[] labelY){
        webEngine.executeScript("init(" + mapX + "," + mapY + ","+ labelX +","+ labelY +")");  
}



будет примерно так
webEngine.executeScript("init(1,1,[Ljava.lang.Object;@834893489,[Ljava.lang.Object;@89348934892лл);

А как правильно?
...
Рейтинг: 0 / 0
Передача objecta
    #39049504
mixon21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
0FDmixon21,

вот это
Код: java
1.
2.
3.
private void MapScript(double mapX, double mapY, Object[] labelX, Object[] labelY){
        webEngine.executeScript("init(" + mapX + "," + mapY + ","+ labelX +","+ labelY +")");  
}



будет примерно так
webEngine.executeScript("init(1,1,[Ljava.lang.Object;@834893489,[Ljava.lang.Object;@89348934892лл);

А как правильно передать обект?
...
Рейтинг: 0 / 0
Передача objecta
    #39049510
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mixon21
А как правильно передать обект?
Строкой можно. Через запятую передать 1,2,3,4,5 содержимое массива. А там - соответсвтенно
сделать обратно массив из строки.
...
Рейтинг: 0 / 0
Передача objecta
    #39049518
mixon21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonmixon21А как правильно передать обект?
Строкой можно. Через запятую передать 1,2,3,4,5 содержимое массива. А там - соответсвтенно
сделать обратно массив из строки.


Примерчик можно?
...
Рейтинг: 0 / 0
Передача objecta
    #39049534
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Передача objecta
    #39049550
0FD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mixon21,
или https://docs.oracle.com/javase/8/javafx/api/javafx/scene/web/WebEngine.html -> Calling back to Java from JavaScript и например, через app передавать массивы.
app.setLabelX(...);
executeScript(...)
...
Рейтинг: 0 / 0
Передача objecta
    #39049559
mixon21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonПосмотри как тут http://stackoverflow.com/questions/409784/whats-the-simplest-way-to-print-a-java-array

Пробую так
Код: java
1.
2.
3.
4.
5.
   private void MapScript(double mapX, double mapY, Object[] labelX, Object[] labelY){
        for(int i=0;i<labelX.length;i++){
          webEngine.executeScript("init(" + mapX + "," + mapY + ","+ labelX[i] +","+ labelY[i] +")");   
        }       
    }



Неполучается. Другие примеры тоже не подходят
...
Рейтинг: 0 / 0
Передача objecta
    #39049565
mixon21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Но выходит другая ошибка.


авторException in thread "JavaFX Application Thread" netscape.javascript.JSException: ReferenceError: Can't find variable: init
at com.sun.webkit.dom.JSObject.fwkMakeException(JSObject.java:128)
at com.sun.webkit.WebPage.twkExecuteScript(Native Method)
at com.sun.webkit.WebPage.executeScript(WebPage.java:1427)
at javafx.scene.web.WebEngine.executeScript(WebEngine.java:948)
at price.FXMLDocumentController.MapScript(FXMLDocumentController.java:291)
at price.FXMLDocumentController.access$500(FXMLDocumentController.java:23)
at price.FXMLDocumentController$3.handle(FXMLDocumentController.java:172)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Scene$MouseHandler.process(Scene.java:3758)
at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3486)
at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762)
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2495)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:350)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:275)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$350(GlassViewEventHandler.java:385)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$$Lambda$219/27770896.get(Unknown Source)
at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:404)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:384)
at com.sun.glass.ui.View.handleMouseEvent(View.java:555)
at com.sun.glass.ui.View.notifyMouse(View.java:927)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$145(WinApplication.java:101)
at com.sun.glass.ui.win.WinApplication$$Lambda$36/17230114.run(Unknown Source)
at java.lang.Thread.run(Thread.java:745)
...
Рейтинг: 0 / 0
Передача objecta
    #39049570
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mixon21Неполучается. Другие примеры тоже не подходят
Чо такое "неполучается"? Лог давай. Или в дебаге покажи что есть. Скриншот там...
...
Рейтинг: 0 / 0
Передача objecta
    #39049584
mixon21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonmixon21Неполучается. Другие примеры тоже не подходят
Чо такое "неполучается"? Лог давай. Или в дебаге покажи что есть. Скриншот там...



В дебаге все принимает переменные labelX и labelY но почему-то не передают в функцию init(javascript).
если ставлю обычные цифры без массива все нормально передает и все нормально работает.
Как только меняю на объект перестает работать.
...
Рейтинг: 0 / 0
Передача objecta
    #39049590
0FD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mixon21,

И с javascript что-то не то:
Код: java
1.
2.
3.
4.
5.
6.
7.
for(var i=0;i<xlabel.length;i++){   //-добавление координат метки на яндекс карту
    blueCoords = [[xlabel[i],ylabel[i]]];  // В blueCoords всегда blueCoords = [[xlabel[xlabel.length-1],ylabel[xlabel.length-1]]]
}
               
for (var i = 0, l = blueCoords.length; i < l; i++) {  //  blueCoords.length всегда 1
    blueCollection.add(new ymaps.Placemark(blueCoords[i]));
}
...
Рейтинг: 0 / 0
Передача objecta
    #39049603
mixon21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
0FDmixon21,

И с javascript что-то не то:
Код: java
1.
2.
3.
4.
5.
6.
7.
for(var i=0;i<xlabel.length;i++){   //-добавление координат метки на яндекс карту
    blueCoords = [[xlabel[i],ylabel[i]]];  // В blueCoords всегда blueCoords = [[xlabel[xlabel.length-1],ylabel[xlabel.length-1]]]
}
               
for (var i = 0, l = blueCoords.length; i < l; i++) {  //  blueCoords.length всегда 1
    blueCollection.add(new ymaps.Placemark(blueCoords[i]));
}



так функция init(javascript) не получает параметры.
...
Рейтинг: 0 / 0
Передача objecta
    #39049750
mixon21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребята помогите кто знает как передать объект с java в javascript сильно надо буду очень благодарен.
...
Рейтинг: 0 / 0
Передача objecta
    #39049762
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все бухают. Терпи до понедельника.
...
Рейтинг: 0 / 0
Передача objecta
    #39049767
mixon21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonВсе бухают. Терпи до понедельника.

Во вторник здавать надо а еще нада сделать email рассылку. скоторой первый раз встречаюсь.
и записку к диплому.
...
Рейтинг: 0 / 0
Передача objecta
    #39049769
mixon21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton,
так и ты знаешь ?
...
Рейтинг: 0 / 0
Передача objecta
    #39049772
mixon21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это десктопное приложение на javaFX
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Передача objecta
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]