0

我正在尝试创建一个带有多个按钮的场景,但遇到了一些问题。

我现在拥有的是这样的:

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();

我试图弄清楚我需要做什么才能拥有第二个按钮。目前,我似乎没有第二个事件处理程序。

任何帮助将不胜感激。

4

1 回答 1

0

这是对您的程序的更新:

  1. 为第二个按钮定义一个动作(显示“Wumpus Hunt Complete!”)。
  2. 将第二个按钮添加到场景中,以便可以看到它。

对按钮执行操作的事件处理程序是匿名内部类的一个示例。

示例代码:

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();
于 2013-10-02T05:29:04.503 回答