Mam problem ze zrozumieniem o co chodzi w tym całym MVC, tutki w necie fajnie, ale jak przychodzi co do czego to nie wiem jak to poskładać, czy ktoś mógłby mi pomóc rozłożyć ten prosty ( aż za prosty wiem, ale jak dam coś większego to mi się pomiesza ) kod, na model, kontroler i widok ( to nie zadanie do szkoły czy na uczelnie ), czy w ogóle się da ? czy jednak to po prostu za proste ?

Czy w widoku mogą zostać wszystkie standardowe ustawienia layout'u ? Akcja buttonu powinna być osobną metodą która będzie w setOnAction wywołana ( a znajdować się będzie w kontrolerze ( w tym wypadku metoda login?) ?

public class JavaFXApplication4 extends Application {
    
    protected boolean tORf;
    
    @Override
    public void start(Stage primaryStage) {
        GridPane grid = new GridPane();
        grid.setAlignment(Pos.CENTER);
        grid.setHgap(10);
        grid.setVgap(10);
        grid.setPadding(new Insets(25, 25, 25, 25));
        
        final Text scenetitle = new Text("Welcome");
        scenetitle.setFont(Font.font("Tahoma", FontWeight.NORMAL, 20));
        grid.add(scenetitle, 0, 0, 2, 1);

        Label userName = new Label("User Name:");
        grid.add(userName, 0, 1);   
        
        TextField userTextField = new TextField();
        grid.add(userTextField, 1, 1);

        Label pw = new Label("Password:");
        grid.add(pw, 0, 2);

        PasswordField pwBox = new PasswordField();
        grid.add(pwBox, 1, 2);
        
        Button signIn = new Button("Sign in dude !");
        signIn.setOnAction(new EventHandler<ActionEvent>() {
            @Override
            public void handle(ActionEvent event) {
                if(tORf == true){
                   //Costam dalej...
                }
            }
        });
        grid.add(signIn, 0, 3);
 
        Scene scene = new Scene(grid, 300, 275);
        primaryStage.setScene(scene);   
        primaryStage.show();
    }
    
    public boolean login(){
        //Jakiś tam kod związany z zapytaniem do bazy blebleb.
        tORf = true;
        return tORf;
    }


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

Proszę o sporą wyrozumiałość :)

podbijam :)