powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / JavaFX загрузка FXML
2 сообщений из 2, страница 1 из 1
JavaFX загрузка FXML
    #38879774
sergey321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День добрый, господа.
Решил поюзать JavaFX с FXML.
простой тестовый пример и получаю вот такую ошибку при запуске из по браузера.
В NB IDE все работает, структура пакетов проверена. Понимаю, что не находит FXML файлик в jar. Все пути проверил, перерыл все, что смог.

Caused by: java.lang.NullPointerException: Location is required.
at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)


jdk 1.8
Netbeans 8.0.2
JavaFX 2.1
вот исходники Test.java

Код: 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.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
package test;

import java.net.URL;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
import test.resources.FXMLDocumentController;

public class Test extends Application
{
    
    @Override
    public void start(Stage stage) throws Exception
    {        
        Scene scene = new Scene(getParent());
        stage.setScene(scene);
        stage.show();
    }

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args)
    {
        launch(args);
    }
    
    private Parent getParent() throws Exception
    {
        String sceneFile = "resources/FXMLDocument.fxml";
        Parent root = null;
        URL    url  = null;
        try
        {
            url  = getClass().getResource(sceneFile);
            FXMLLoader loader = new FXMLLoader(getClass().getResource(sceneFile));
            root = loader.load();
        }
        catch ( Exception ex )
        {
            System.out.println("    ----------------------------------------\n");            
            System.out.println("Exception on FXMLLoader.load()" );
            System.out.println("Current path to scene: " + sceneFile);
            System.out.println("  * url: " + url );
            System.out.println("  * " + ex );
            System.out.println("    ----------------------------------------\n" );
            throw ex;
        }        
        return root;
    }    
}



Вот FXMLDocumentController.java

Код: 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.
26.
27.
28.
package test.resources;

import java.net.URL;
import java.util.ResourceBundle;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Label;

public class FXMLDocumentController implements Initializable
{
    
    @FXML
    private Label label;
    
    @FXML
    private void handleButtonAction(ActionEvent event)
    {
        System.out.println("You clicked me!");
        label.setText("Hello World!");
    }
    
    @Override
    public void initialize(URL url, ResourceBundle rb)
    {
        
    }        
}



И собственно FXML

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
<?xml version="1.0" encoding="UTF-8"?>

<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>

<AnchorPane id="AnchorPane" prefHeight="200" prefWidth="320" xmlns:fx="http://javafx.com/fxml/1" fx:controller="test.resources.FXMLDocumentController">
    <children>
        <Button layoutX="126" layoutY="90" text="Click Me!" onAction="#handleButtonAction" fx:id="button" />
        <Label layoutX="126" layoutY="120" minHeight="16" minWidth="69" fx:id="label" />
    </children>
</AnchorPane>




Убедительно прошу по существу. Заранее всем спасибо.
...
Рейтинг: 0 / 0
JavaFX загрузка FXML
    #38879804
Фотография Паша01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
String sceneFile = "resources/FXMLDocument.fxml";


В JavaFXне шарю, но общее у всех веб технологий то, что надо прописывать контекстный путь или относительный путь. А у тебя это не так. К тому же если через браузер нужный файл не находит, в консоли браузера обычно пишет соответствующую ошибку. И по ней можешь увидеть, куда браузер пытается стучаться и правильный ли это путь.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / JavaFX загрузка FXML
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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