我是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()
),它如何能夠改變整個程序再次運行時行的長度按鈕被點擊或者程序停留在單擊該按鈕時該怎麼做並且一旦單擊該按鈕就運行那部分代碼的行上?