powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Запуск webView JavaFX из swing-приложения - Не запускается Platform.runLater(new Runnable(
31 сообщений из 31, показаны все 2 страниц
Запуск webView JavaFX из swing-приложения - Не запускается Platform.runLater(new Runnable(
    #38763169
else12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не пойму в чем дело. У меня свинг-приложение, меню + таб-панель, новые "окна" - это добавление панели на новую закладку таб-панели. Мне нужно открыть таким образом новую закладку с webView.

Я создаю как обычно мою панель на новой закладке таб-панели
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
        //Строим панели панелей
        JPanel panelTitle = DrowPanelTitle();  //Построение верхней панели         
        panelTable        = DrowPanelTable();  //Построение основной таблицы
        JPanel panelSouth = DrowPanelButton(); //Построение панели с кнопками (нижняя панель)

        //Помещаем все на форму
        this.setLayout(new BorderLayout());
        this.add(panelTitle, BorderLayout.NORTH);
        this.add(panelSouth, BorderLayout.SOUTH);
        this.add(panelTable, BorderLayout.CENTER);

        SwingUtilities.invokeLater(new Runnable() 
        {
           @Override
           public void run() 
           {
              show2();
           }
        });



Затем создаю - все как в подсказке - веб-браузер и помещаю его на центральную панель

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
    private void show2() 
    {
        final JFXPanel panel = new JFXPanel();
        
        panelTable.add(panel);

        Platform.runLater(new Runnable() {
            @Override
            public void run() {
               ......
            }
        });
    }        



Эта штуковина не входит в Platform.runLater(new Runnable() и выдает мне пустую панель. А что я делаю не так?
...
Рейтинг: 0 / 0
Запуск webView JavaFX из swing-приложения - Не запускается Platform.runLater(new Runnable(
    #38763300
else12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То ли я спросил нечто заковыристое, то ли уж очень очевидное, но мне не понятное. Может, кто-то все же поможет? А то очень надо, а я не вьеду, что не так...
...
Рейтинг: 0 / 0
Запуск webView JavaFX из swing-приложения - Не запускается Platform.runLater(new Runnable(
    #38763309
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
setVisible(true) для окна выполняется до этих invokeLater\runLater?
...
Рейтинг: 0 / 0
Запуск webView JavaFX из swing-приложения - Не запускается Platform.runLater(new Runnable(
    #38763310
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Scene создаётся? JavaDoc читается?
http://docs.oracle.com/javafx/2/api/javafx/embed/swing/JFXPanel.html
...
Рейтинг: 0 / 0
Запуск webView JavaFX из swing-приложения - Не запускается Platform.runLater(new Runnable(
    #38763327
m77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczScene создаётся? JavaDoc читается?
http://docs.oracle.com/javafx/2/api/javafx/embed/swing/JFXPanel.html
как раз по нему я все и писал. В примере все создается как раз в Platform.runLater, я туда не попадаю. И никак не пойму почему не попадаю.
...
Рейтинг: 0 / 0
Запуск webView JavaFX из swing-приложения - Не запускается Platform.runLater(new Runnable(
    #38763334
m77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczsetVisible(true) для окна выполняется до этих invokeLater\runLater?
я вывожу не во фрейм, а в панель, которую помещаю на таб-панель, все свинговские компоненты при этом видны. А FX-овские нет, поскольку не попадаю в требуемый поток, где все создается.
...
Рейтинг: 0 / 0
Запуск webView JavaFX из swing-приложения - Не запускается Platform.runLater(new Runnable(
    #38763337
m77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тьфу ты, не перелогинился, но не важно.
...
Рейтинг: 0 / 0
Запуск webView JavaFX из swing-приложения - Не запускается Platform.runLater(new Runnable(
    #38763339
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m77как раз по нему я все и писал. В примере все создается как раз в Platform.runLater, я туда не попадаю. И никак не пойму почему не попадаю.
событие из разгребается из очереди потому что либо нет Scene, либо её не видно, поэтому что не видно фрейма.
...
Рейтинг: 0 / 0
Запуск webView JavaFX из swing-приложения - Не запускается Platform.runLater(new Runnable(
    #38763342
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m77BlazkowiczsetVisible(true) для окна выполняется до этих invokeLater\runLater?
я вывожу не во фрейм, а в панель, которую помещаю на таб-панель, все свинговские компоненты при этом видны. А FX-овские нет, поскольку не попадаю в требуемый поток, где все создается.

Swing GUI выводятся либо на JFrame, либо на JDialog. То что находится между JFrame и вашей JFXPanel не интересно.
Итак, когда выполняется runLater, фрейм уже visible или нет? Не вижу в коде Scene.
...
Рейтинг: 0 / 0
Запуск webView JavaFX из swing-приложения - Не запускается Platform.runLater(new Runnable(
    #38763348
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczсобытие из разгребается из очереди
событие НЕ разгребается.
runLater помещает Runnable в Event Queue. Но её, похоже, не разгребает JavaFX Application Thread
...
Рейтинг: 0 / 0
Запуск webView JavaFX из swing-приложения - Не запускается Platform.runLater(new Runnable(
    #38763366
m77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczm77пропущено...

я вывожу не во фрейм, а в панель, которую помещаю на таб-панель, все свинговские компоненты при этом видны. А FX-овские нет, поскольку не попадаю в требуемый поток, где все создается.

Swing GUI выводятся либо на JFrame, либо на JDialog. То что находится между JFrame и вашей JFXPanel не интересно.
Итак, когда выполняется runLater, фрейм уже visible или нет? Не вижу в коде Scene.
Немного не понимаю, но конечно, все располагается на свинговском фрейме и фрейм visible. Далее на фрейм помещается меню и таб-панель и просто добавляются закладки на таб-панель
Код: java
1.
2.
               mainTabbedPane.add("Browser FX", new MiniBrowserFX( frameForMDI, mainTabbedPane, global, 0));
               mainTabbedPane.setSelectedIndex(mainTabbedPane.getTabCount()-1);
...
Рейтинг: 0 / 0
Запуск webView JavaFX из swing-приложения - Не запускается Platform.runLater(new Runnable(
    #38763374
m77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczm77как раз по нему я все и писал. В примере все создается как раз в Platform.runLater, я туда не попадаю. И никак не пойму почему не попадаю.
событие из разгребается из очереди потому что либо нет Scene, либо её не видно, поэтому что не видно фрейма.
На сколько я понял, FX-овская часть формируется в функции initFX(panel), куда я не попадаю.
Код: java
1.
2.
3.
4.
5.
6.
Platform.runLater(new Runnable() {
            @Override
            public void run() {
                initFX(panel);
            }
        });



Я не вижу отличий у себя и в примере Javadoc. В чем оно?
...
Рейтинг: 0 / 0
Запуск webView JavaFX из swing-приложения - Не запускается Platform.runLater(new Runnable(
    #38763385
m77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczНе вижу в коде Scene.
Она в той самой функции initFX, которая вызывается в Platform.runLater(new Runnable(), куда я не попадаю. Но это взято из примера, который вроде бы, работает...

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
private static void initFX(final JFXPanel fxPanel) {
        Group group = new Group();
        Scene scene = new Scene(group);
        fxPanel.setScene(scene);

        WebView webView = new WebView();

        group.getChildren().add(webView);
        webView.setMinSize(300, 300);
        webView.setMaxSize(300, 300);

            // Obtain the webEngine to navigate
        WebEngine webEngine = webView.getEngine();
        webEngine.load("http://www.google.com/");
    }
...
Рейтинг: 0 / 0
Запуск webView JavaFX из swing-приложения - Не запускается Platform.runLater(new Runnable(
    #38763392
m77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В окончательном виде где-то так:
Код: java
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.
private void show2() 
    {
        final JFXPanel panel = new JFXPanel();
        
        panelTable.add(panel);

        Platform.runLater(new Runnable() {
            @Override
            public void run() {
               Group group = new Group();
               Scene scene = new Scene(group);
               fxPanel.setScene(scene);

               WebView webView = new WebView();

               group.getChildren().add(webView);
               webView.setMinSize(300, 300);
               webView.setMaxSize(300, 300);

            // Obtain the webEngine to navigate
               WebEngine webEngine = webView.getEngine();
               webEngine.load("http://www.google.com/");.
            }
        });
    }     



Но вовнутрь потока я не попадаю, возможно он где-то не подхватывается, но в чем может быть загвоздка?
...
Рейтинг: 0 / 0
Запуск webView JavaFX из swing-приложения - Не запускается Platform.runLater(new Runnable(
    #38763450
m77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вобщем, заменил jfxrt.jar в проекте и заработала. Наверное, дело было в этом.

Но теперь возникла еще одна проблема - гугловский сайт и мою простую страничку она обработала, а вот более сложную страницу с джава-скриптами и Ко не стала, а вобще вылетела из программы, оставив странную запись в логе, содержащую слова:

Failed to write core dump. Minidumps are not enabled by default on client versions of Windows

Вобщем, если эту программу устанавливать пользователям, нужно, все-таки, знать какую именно библиотеку использовать для javaFX. А и в самом деле - какую? Есть какие-то не кривые?
...
Рейтинг: 0 / 0
Запуск webView JavaFX из swing-приложения - Не запускается Platform.runLater(new Runnable(
    #38763492
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m77Вобщем, заменил jfxrt.jar в проекте и заработала.
Вариант использовать JDK не рассматривается?
...
Рейтинг: 0 / 0
Запуск webView JavaFX из swing-приложения - Не запускается Platform.runLater(new Runnable(
    #38763675
m77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczm77Вобщем, заменил jfxrt.jar в проекте и заработала.
Вариант использовать JDK не рассматривается?
У пользователей разные машины. У той версии, которая у меня на 7-й джаве и 7-х виндах все в основном работает, хотя то ли JQuery, то ли Ext JS на сервере ее выбивает. У пользователей с 6-й джавой и Windows XP то вылетает с ошибкой, то зависает с нею же.

Не пойму какой jar-ник взять, чтобы все у всех заработало.
...
Рейтинг: 0 / 0
Запуск webView JavaFX из swing-приложения - Не запускается Platform.runLater(new Runnable(
    #38763695
m77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне, собственно, нужен браузер внутри свинговской программы. Программа устанавливается у пользователей, у которых ставится джава-машина, а система у них - винда XP и семерка. Джава-машины у всех унифицировать можно, виды виндов нет.

Где взять тот jfxrt.jar, который будет работать у всех и существует ли он в природе? Или для 32-битных версий нужен один джарник, для 64-х - другой и т.д.?
...
Рейтинг: 0 / 0
Запуск webView JavaFX из swing-приложения - Не запускается Platform.runLater(new Runnable(
    #38763710
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, с таким подходом не удивительно. Нужно же JavaFX качать и устанавливать отдельно, особенно для Java 6. А не таскать один единственный файлик в проекте.
...
Рейтинг: 0 / 0
Запуск webView JavaFX из swing-приложения - Не запускается Platform.runLater(new Runnable(
    #38763744
m77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczНу, с таким подходом не удивительно. Нужно же JavaFX качать и устанавливать отдельно, особенно для Java 6. А не таскать один единственный файлик в проекте.
Я JavaFX до этого не использовал - свинг и веб. В Java FX не слишком ориентируюсь - просто возникла разовая, но нужная задача, в случае решения сильно упростит жизнь. Поэтому не понял - на каждую машину пользователя помимо джава-машины ставить еще и JavaFX ?
...
Рейтинг: 0 / 0
Запуск webView JavaFX из swing-приложения - Не запускается Platform.runLater(new Runnable(
    #38763768
m77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,
Может, тогда просвети - как правильно сделать, как правильно внедрить в свинг JavaFX и установить на машинах пользователей, чтобы у всех все работало и не таскалась библиотека? С кодом я разобрался, а вот с библиотеками не очень...
...
Рейтинг: 0 / 0
Запуск webView JavaFX из swing-приложения - Не запускается Platform.runLater(new Runnable(
    #38763823
m77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

я общий расклад правильных действий не понял. Когда у меня есть чистый свинг, то я собираю проект в jar-файл, устанавливаю у юзеров джава-машину и они работают.

В случае связки с java fx как мне правильно собирать проект и устанавливать его у пользователей? У меня нет какой-то стройной гармоничной картины в голове, кроме привычного варианта...
...
Рейтинг: 0 / 0
Запуск webView JavaFX из swing-приложения - Не запускается Platform.runLater(new Runnable(
    #38764307
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m77Blazkowicz,

я общий расклад правильных действий не понял. Когда у меня есть чистый свинг, то я собираю проект в jar-файл, устанавливаю у юзеров джава-машину и они работают.

В случае связки с java fx как мне правильно собирать проект и устанавливать его у пользователей? У меня нет какой-то стройной гармоничной картины в голове, кроме привычного варианта...

Если использовать Java 8, то брать последние билд и не париться.
Если использовать Java 6 и Java 7, то Java FX последней версии надо скачивать и устанавливать отдельно.
Не уверен что вы устанавливаете в виде "джава-машину". Oracle предлагает утанавливать JRE либо JDK. Точно так же JavaFX идёт отдельным инсталятором.
...
Рейтинг: 0 / 0
Запуск webView JavaFX из swing-приложения - Не запускается Platform.runLater(new Runnable(
    #38764422
m77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczm77Blazkowicz,

я общий расклад правильных действий не понял. Когда у меня есть чистый свинг, то я собираю проект в jar-файл, устанавливаю у юзеров джава-машину и они работают.

В случае связки с java fx как мне правильно собирать проект и устанавливать его у пользователей? У меня нет какой-то стройной гармоничной картины в голове, кроме привычного варианта...

Если использовать Java 8, то брать последние билд и не париться.
Если использовать Java 6 и Java 7, то Java FX последней версии надо скачивать и устанавливать отдельно.
Не уверен что вы устанавливаете в виде "джава-машину". Oracle предлагает устанавливать JRE либо JDK. Точно так же JavaFX идёт отдельным инсталятором.
Я при этом не понял, как собирать программу - она же выдаст ошибку без подсоединенного FX-овсковского jar-а...
...
Рейтинг: 0 / 0
Запуск webView JavaFX из swing-приложения - Не запускается Platform.runLater(new Runnable(
    #38764426
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m77Я при этом не понял, как собирать программу - она же выдаст ошибку без подсоединенного FX-овсковского jar-а...
compile-time и runtime это разные процесы. Для компиляции нужны только классы API, не важно откуда, лишь бы нужной версии.
А для полноценный работы в runtime нужен полный JavaFX Runtime.
...
Рейтинг: 0 / 0
Запуск webView JavaFX из swing-приложения - Не запускается Platform.runLater(new Runnable(
    #38764462
m77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczm77Я при этом не понял, как собирать программу - она же выдаст ошибку без подсоединенного FX-овсковского jar-а...
compile-time и runtime это разные процесы. Для компиляции нужны только классы API, не важно откуда, лишь бы нужной версии.
А для полноценный работы в runtime нужен полный JavaFX Runtime.
Так вот вопрос в том, что какие-то кривые эти JavaFX jar-ники... У меня ни в свинге, ни в вебе проблем таких не было. Ты бы мог ткнуть мордой пальцем - что надо взять, чтобы все работало - вот такой вот FX-jar-ник для сборки, вот такую JRE, чтобы работало, а то чего-то сколько не экспериментирую - то у одного юзера не работает, то у другого. Со свингом все работает...
...
Рейтинг: 0 / 0
Запуск webView JavaFX из swing-приложения - Не запускается Platform.runLater(new Runnable(
    #38764487
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m77,

Google -> JavaFX Download
...
Рейтинг: 0 / 0
Запуск webView JavaFX из swing-приложения - Не запускается Platform.runLater(new Runnable(
    #38764587
m77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczm77,

Google -> JavaFX Download
Это было сделано с самого начала. Более того, скачано практически все, что нужно для различных экспериментов и вариантов, которых немеряно. А потом стало выясняться, что есть нюансы - например, на XP нельзя ставить 8-ку, да и версии JavaFX на каких-то машинах идут, на каких-то нет и найти ту самую не кривую версию связок джавы и FX, которая подошла бы всем, можно только в результате проверки всех машин и установки всех вариантов связок, по крайней мере "тот самый" джарник можно выудить именно так. Под линуксами пока даже и не проверял, хотя надо бы в скором будущем и под ними посмотреть...

У меня какое-то смутное ощущение, что кто-то с этим уже сталкивался и знает ту самую единственную и неповторимую версию-связку JRE и JavaFX, которая будет работать на всех машинах, включая старенькие с XP...
...
Рейтинг: 0 / 0
Запуск webView JavaFX из swing-приложения - Не запускается Platform.runLater(new Runnable(
    #38764595
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m77,

оК. Попробуй вместо словоблудия понять одну простую мысль.
Одного только jfxrt.jar для работы JavaFX недостаточно.

Если тебе нужна поддержка XP, тебе надо найти точную версию, которая поддерживается, скачать и использовать её как при разработке, так и для установки на клиентов.
...
Рейтинг: 0 / 0
Запуск webView JavaFX из swing-приложения - Не запускается Platform.runLater(new Runnable(
    #38764635
m77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczm77,

оК. Попробуй вместо словоблудия понять одну простую мысль.
Одного только jfxrt.jar для работы JavaFX недостаточно.

Если тебе нужна поддержка XP, тебе надо найти точную версию, которая поддерживается, скачать и использовать её как при разработке, так и для установки на клиентов.
Я эту мысль понял с первого твоего упоминания. Я спрашиваю о том, какая версия JRE+FX подойдет для всех случаев. То, что джарник надо взять именно из нее, я тоже понял...
...
Рейтинг: 0 / 0
Запуск webView JavaFX из swing-приложения - Не запускается Platform.runLater(new Runnable(
    #38764650
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m77,

Вот тут пишут
http://stackoverflow.com/questions/11886002/javafx-and-old-pc-with-windows-xp
Что под XP будет работать, если насильно включить software/Java2D рендеринг. Стоит попробовать. Хотя браузер это совершенно отдельная тема.
...
Рейтинг: 0 / 0
31 сообщений из 31, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Запуск webView JavaFX из swing-приложения - Не запускается Platform.runLater(new Runnable(
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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