Wpis z mikrobloga

@infamia: Usuń prawie wszystko z klasy "runExample ", zostaw tylko "Application.launch(HelloWorld.class, args);". W "HelloWorld " stworz kontroler po stworzeniu buttona. Przekaz do kontrolera referencje do Helloworld. Nullpointer dostawałeś bo metoda launch jest blokująca i dopiero po zakonczeniu aplikacji było wykonywane btn.setOnAction(acn) na instancji klasy HelloWorld, która miała pustą referencję btn bo metoda start() nie została na niej wykonana. Zwróć uwagę, że w Application.launch() przekazujesz typ klasy, a nie referencje.
@infamia: btn jest nullem w chwili wywołania btn.setOnAction(acn)

Należy unikać sytuacji, w której publiczne metody w klasie muszą być wywoływane w z góry ustalonej kolejności, aby nie rzucało wyjątkami. Twoja klasa HelloWorld jest tak napisana, że jeśli metoda start nie zostanie wywołana przed metodą setButtonOnAction to zawsze będzie rzucony wyjątek NPE