So if i try to use a button from the fxml using the @FXML i get a nullpointer exception or nothing happens. I'm new with javafx so go easy on me, but no matter what i try it doesnt seem to work...
In the fxml file i have a button created in scenebuilder with fx:id="companies" - this all works fine and is definitely implemented properly.
In my java main file this is the code:
package sample;
import javafx.application.Application;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
import java.io.File;
public class Main extends Application {
    @FXML private Button companies;
    @Override
    public void start(Stage primaryStage) throws Exception{
        companies.setOnAction(event -> {
           companies.setText("new value");
             });
        File file = new File("/users/Joss/Documents/continents.gif");
        Image image = new Image(file.toURI().toString());
        ImageView imageview = new ImageView(image);
        BorderPane pane = FXMLLoader.load(Main.class.getResource("sample.fxml"));
        //mainPane.setCenter(imageview);
        Scene scene = new Scene(pane, 1000, 800);
        primaryStage.setScene(scene);
        primaryStage.show();
    }
    public static void main(String[] args) {
        launch(args);
    }
}
and this is the error: Caused by: java.lang.NullPointerException at sample.Main.start(Main.java:24)