Я новичок в Java и, когда я проходил обработку событий, я не мог понять, как работает обработчик событий. Я постараюсь изо всех сил объяснить свой вопрос. Предположим, у меня есть следующий код, который просто запустить приложение JavaFX и рисует линию и кнопку на сцене:Как работает обработчик событий?
public class Understanding extends Application
{
Linepane lpane = new Linepane();
public static void main(String[] args)
{
Application.launch(args);
}
@Override
public void start(Stage stage) throws Exception
{
Button bt = new Button("change");
stage.setTitle("Understand");
BorderPane bpane = new BorderPane();
bpane.setBottom(bt);
bpane.setCenter(lpane);
bt.setOnAction(new Handler());
Scene scene = new Scene(bpane, 300, 300);
stage.setScene(scene);
stage.show();
}
public class Handler implements EventHandler<ActionEvent>
{
@Override
public void handle(ActionEvent arg0)
{
lpane.change();
}
}
}
public class Linepane extends StackPane
{
Line line = new Line(1,1,50,50);
public Linepane()
{
this.getChildren().add(line);
}
public void change()
{
line.setEndX(100);
line.setEndY(100);
}
}
Все это программа делает это нарисовать линию и изменить длину линии по нажатию на кнопку Изменить, но как возможно, как только запускается метод запуска программы, и код запускается от первой строки до последней строки, которая показывает этап (stage.show()
), и как он может изменить длину строки, вся программа запускается снова, когда или программа просто остается в строке, которая говорит, что делать, когда нажимается кнопка и запускает эту часть кода, как только нажимается кнопка?