示例:

1.   添加一个按钮

import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.BorderPane;


public class Main extends Application {
	@Override
	public void start(Stage primaryStage) {
		try {
			BorderPane root = new BorderPane();//root根容器
			
			Button btn = new Button("登录");             //添加按钮
			root.setCenter(btn); 
			
			Scene scene = new Scene(root,400,400);
			scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
			primaryStage.setScene(scene);
			primaryStage.show();
		} catch(Exception e) {
			e.printStackTrace();
		}
	}
	
	public static void main(String[] args) {
		launch(args);
	}
}

运行结果:

javaFx如何设置输入框 javafx设置按钮位置_css


2.  添加事件处理器类 MyEventHandler

当用户点击按钮时,做相应的处理……

步骤:

1.  写一个处理器,实现EventHandler 接口                

2.  setoOnAction (new MyEventHandler());


注:  在JavaFX里,各种事件的处理都是setonXXX

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.BorderPane;


public class Main extends Application {
	@Override
	public void start(Stage primaryStage) {
		try {
			BorderPane root = new BorderPane();//root根容器
			
			Button btn = new Button("登录");
			root.setCenter(btn);
			MyEventHandler handler = new MyEventHandler();
			btn.setOnAction(handler);
			
			Scene scene = new Scene(root,400,400);
			scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
			primaryStage.setScene(scene);
			primaryStage.show();
		} catch(Exception e) {
			e.printStackTrace();
		}
	}
	//Alt + /  
	private class MyEventHandler implements EventHandler<ActionEvent>{

		@Override
		public void handle(ActionEvent arg0) {

			System.out.println("登录成功");
			
		}
		
		
	}
	
	public static void main(String[] args) {
		launch(args);
	}
}

 注:

·|   EventHandler 是一个接口 (泛型接口,带类型参数)

·|   导包的时候要 import   javafx.*   开头得的包


3.  设置处理器

MyEventHandle  handle = new MyEventHandle();
    btn.setOnAction( handle );

可直接写成一行:

 

btn.setOnAction(new  MyEventHandler());


4.使用匿名类

btn.setOnAction(new EventHandler<ActionEvent>() {

 @Override
 public void handle(ActionEvent event) {
 // TODO 自动生成的方法存根
 System.out.println("登录成功");
 }
 
 });


import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.BorderPane;


public class Main extends Application {
	@Override
	public void start(Stage primaryStage) {
		try {
			BorderPane root = new BorderPane();
//			
//			Label label = new Label("welcome!");
//			root.setCenter(label);
			Button btn = new Button("登录");
			root.setCenter(btn);
//			MyEventHandler handler = new MyEventHandler();
//			btn.setOnAction(handler);
			btn.setOnAction(new EventHandler<ActionEvent>() {

				@Override
				public void handle(ActionEvent event) {
					// TODO 自动生成的方法存根
					System.out.println("登录成功");
				}
				
			});
			
			Scene scene = new Scene(root,200,200);
			scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
			primaryStage.setScene(scene);
			primaryStage.show();
		} catch(Exception e) {
			e.printStackTrace();
		}
	}
	
	public static void main(String[] args) {
		launch(args);
	}
}