我是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()
),它如何能够改变整个程序再次运行时行的长度按钮被点击或者程序停留在单击该按钮时该怎么做并且一旦单击该按钮就运行那部分代码的行上?