在java场景中创建多个按钮

时间:2013-10-02 01:14:19

标签: java eclipse button javafx

我正在尝试使用多个按钮创建一个场景,我遇到了一些问题。

我现在拥有的是:

public class Tester extends Application {


public static void main(String[] args) {
launch(args);
}

@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("Hello World!");
Button btn1 = new Button();
btn1.setText("Start Game");
Button btn2 = new Button();
btn2.setText("Exit");
btn2.setOnAction(new EventHandler<ActionEvent>()); 
btn1.setOnAction(new EventHandler<ActionEvent>() {

    @Override
    public void handle(ActionEvent event) {
        System.out.println("Game Start");
    }
});

Pane root = new Pane();
btn1.setLayoutX(500);
btn1.setLayoutY(530);
root.getChildren().add(btn1);
primaryStage.setScene(new Scene(root, 1024, 768));
primaryStage.show();

我想弄明白我需要做什么才能有第二个按钮。目前,我似乎无法拥有第二个事件处理程序。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

以下是您的计划的更新内容:

  1. 为第二个按钮定义一个动作(显示“Wumpus Hunt Complete!”)。
  2. 将第二个按钮添加到场景中,以便可以看到它。
  3. 为按钮执行操作的事件处理程序是anonymous inner class的一个示例。

    示例代码:

    Button btn1 = new Button();
    btn1.setText("Start Game");
    Button btn2 = new Button();
    btn2.setText("Exit");
    btn2.setOnAction(new EventHandler<ActionEvent>() {
        @Override
        public void handle(ActionEvent event) {
            System.out.println("Wumpus Hunt Complete!");
        }
    });
    btn1.setOnAction(new EventHandler<ActionEvent>() {
        @Override
        public void handle(ActionEvent event) {
            System.out.println("Game Start");
        }
    });
    
    Pane root = new Pane();
    btn1.setLayoutX(500);
    btn1.setLayoutY(530);
    root.getChildren().add(btn1);
    btn2.setLayoutX(500);
    btn2.setLayoutY(630);
    root.getChildren().add(btn2);
    primaryStage.setScene(new Scene(root, 1024, 768));
    primaryStage.show();