Nie mogę poprawnie zapisać projektu

0

Cześć

Potrzebuje pomocy w momencie kiedy chce utworzyć projekt nie podpowiada mi class w zapisie JavaFX na InteliJ-u.
screenshot-20190618103557.png
Moje drzewko wygląda tak:
screenshot-20190618103636.png

kody w plikach tak:

Main.class

package sample;


import Menu.MenuUtilities;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception{

        FXMLLoader loader = new FXMLLoader();
        loader.setLocation(this.getClass().getResource("sample.fxml"));

        StackPane stackPane = loader.load();
        Scene scene = new Scene(stackPane);

        stackPane.getChildren().add(MenuUtilities.prepareMenu());
        stackPane.setAlignment(Pos.TOP_LEFT);


        primaryStage.getIcons().add(new Image("file:src/img/icon.png"));
        primaryStage.setOnCloseRequest((e)->{Controller.closeProgram();});
        primaryStage.setTitle("Postoje-Bartosz Kosmowski.app");
        primaryStage.setMaximized(true);
        primaryStage.setScene(scene);
        primaryStage.show();
    }


    public static void main(String[] args) {
        launch(args);
    }

MenuUtilities

package Menu;

import javafx.scene.control.MenuBar;
import javafx.scene.control.MenuItem;
import sample.Controller;

public class MenuUtilities {

    public static MenuBar prepareMenu() {

        MenuBar menuBar = new MenuBar();

        javafx.scene.control.Menu menuFile = new javafx.scene.control.Menu("Plik");
        MenuItem closeFile = new MenuItem("Zamknij");
        closeFile.setOnAction(actionEvent -> Controller.closeProgram());

        menuFile.getItems().add(closeFile);
        menuBar.getMenus().add(menuFile);






        return menuBar;

    }

}

Controller

public class Controller implements Initializable {


    @FXML private TableView<Stop> tableView;
    @FXML private TableColumn<Stop, String> dateColumn;
    @FXML private TableColumn<Stop, String> orderColumn;
    @FXML private TableColumn<Stop, String> personColumn;
    @FXML private TableColumn<Stop, String> warrningColumn;

    @FXML private TextField textDate, textOrder, textPerson, textInfo;
    @FXML private Button addButton, delateButton;

    @FXML
    Button button1;

    @Override
    public void initialize(URL location, ResourceBundle resource){
        dateColumn.setCellValueFactory(new PropertyValueFactory<Stop, String>("data"));
        orderColumn.setCellValueFactory(new PropertyValueFactory<Stop, String>("zlecenie"));
        personColumn.setCellValueFactory(new PropertyValueFactory<Stop, String>("lider"));
        warrningColumn.setCellValueFactory(new PropertyValueFactory<Stop, String>("uwagi"));
        tableView.setItems(addOrder());

    }

    public void addRawToTable(){
        Stop newStop = new Stop(textDate.getText(), textOrder.getText(), textPerson.getText(), textInfo.getText());
        tableView.getItems().add(newStop);
        textDate.clear();
        textOrder.clear();
        textPerson.clear();
        textInfo.clear();


    }

    public void delateRow(){

        ObservableList<Stop> wybranyWiersz, wszystkieWiersze;
        try{
            wszystkieWiersze = tableView.getItems();
            if(wszystkieWiersze.size() != 0){
                wybranyWiersz = tableView.getSelectionModel().getSelectedItems();
                wybranyWiersz.forEach(wszystkieWiersze::remove);
            }

        }catch(Exception e){

            //tabela jest pusta

        }
    }

    public ObservableList<Stop> addOrder(){
        ObservableList<Stop>personList = FXCollections.observableArrayList();
        personList.add(new Stop("dfsdf", " fdsfsdf", "fsdfsdf", "fdsfsd"  ));
        return personList;
    }


    public static void closeProgram()
    {
        Platform.exit();
        System.exit(0);
    }



}
0

Pomoże ktoś rozwiązać problem bo już jestem bezsilny.
W IntelliJ aplikacja normalnie funkcjonuje:
screenshot-20190619115105.png

W momencie gdy chce utworzyć projekt to .jar nie otwiera mi się na kompie a za pomocą konsoli wyskakuje mi komunikat:

Error: JavaFX runtime components are missing, and are required to run this application

Projekt nie jest Mavenowy tylko zwykły JavaFX

0

Bo domyślnie do jara pakują się tylko Twoje klasy. Zrób przy pomocy mavena/gradla fat jara i tak będzie najprościej

0

Dodam na wstępie że jeszcze nie korzystałem z mavene ale przerobiłem swój projekt i niestety mam taki komunikat:
screenshot-20190620174938.png

moja struktura wygląda teraz tak:
screenshot-20190620175038.png

a plik pom tak:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>groupId</groupId>
    <artifactId>App</artifactId>
    <version>1.0-SNAPSHOT</version>
    <build>
        <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.1</version>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                    </configuration>
                </plugin>
            <plugin>
                <groupId>com.zenjava</groupId>
                <artifactId>javafx-maven-plugin</artifactId>
                <version>8.7.0</version>
                <configuration>
                    <mainClass>sample.Main</mainClass>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>3.2.1</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <transformers>
                                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                    <mainClass>sample.Main</mainClass>
                                </transformer>
                            </transformers>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>


</project>

1 użytkowników online, w tym zalogowanych: 0, gości: 1