powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Запуск webView JavaFX из swing-приложения - Не запускается Platform.runLater(new Runnable(
25 сообщений из 31, страница 1 из 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
25 сообщений из 31, страница 1 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Запуск webView JavaFX из swing-приложения - Не запускается Platform.runLater(new Runnable(
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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