应为Java非法启动类型) package tic.tac.toe.menu; 导入javafx.application.application; 导入javafx.event.ActionEvent; 导入javafx.event.EventHandler; 导入javafx.scene.scene; 导入javafx.scene.control.Button; 导入javafx.scene.layout.StackPane; 导入javafx.stage.stage; 公共类TictoeMenu扩展了应用程序{ @凌驾 公共无效开始(阶段primaryStage){ 按钮开始=新按钮(); start.setText(“如何玩?”); setOnAction(新的EventHandler(){ @凌驾 公共无效句柄(ActionEvent事件){ System.out.println(“\n”+”tic-tac-toe的目标是在垂直、水平或对角方向上获得一行中的3个片段”); System.out.println(“要玩这个游戏,请在一个正方形内单击以放下你的棋子,你可以在开始时选择“x”或“o”); } }); StackPane root=新的StackPane(); root.getChildren().add(开始); 场景=新场景(根,350,250); 初级阶段。设置标题(“Tic Tac Toe”); 初级阶段。场景(场景); primaryStage.show();} 公共无效出口(初级阶段){ 按钮退出=新按钮(); exit.setText(“退出?”); setOnAction(新的EventHandler(){ 公共无效句柄(ActionEvent事件){ 系统出口(0); })}//这一行我得到了错误 StackPane root=新的StackPane(); root.getChildren().add(退出); 场景=新场景(根,350,250); 初级阶段。场景(场景); primaryStage.show(); } }
我是Java新手,我正在尝试创建一个菜单,但在第40行,我遇到了一个错误,说类型的开头是非法的,我不知道这意味着什么。我认为我的语法有误,但不确定要修复什么。更改代码应为Java非法启动类型) package tic.tac.toe.menu; 导入javafx.application.application; 导入javafx.event.ActionEvent; 导入javafx.event.EventHandler; 导入javafx.scene.scene; 导入javafx.scene.control.Button; 导入javafx.scene.layout.StackPane; 导入javafx.stage.stage; 公共类TictoeMenu扩展了应用程序{ @凌驾 公共无效开始(阶段primaryStage){ 按钮开始=新按钮(); start.setText(“如何玩?”); setOnAction(新的EventHandler(){ @凌驾 公共无效句柄(ActionEvent事件){ System.out.println(“\n”+”tic-tac-toe的目标是在垂直、水平或对角方向上获得一行中的3个片段”); System.out.println(“要玩这个游戏,请在一个正方形内单击以放下你的棋子,你可以在开始时选择“x”或“o”); } }); StackPane root=新的StackPane(); root.getChildren().add(开始); 场景=新场景(根,350,250); 初级阶段。设置标题(“Tic Tac Toe”); 初级阶段。场景(场景); primaryStage.show();} 公共无效出口(初级阶段){ 按钮退出=新按钮(); exit.setText(“退出?”); setOnAction(新的EventHandler(){ 公共无效句柄(ActionEvent事件){ 系统出口(0); })}//这一行我得到了错误 StackPane root=新的StackPane(); root.getChildren().add(退出); 场景=新场景(根,350,250); 初级阶段。场景(场景); primaryStage.show(); } },java,syntax,menu,compiler-errors,javafx,Java,Syntax,Menu,Compiler Errors,Javafx,我是Java新手,我正在尝试创建一个菜单,但在第40行,我遇到了一个错误,说类型的开头是非法的,我不知道这意味着什么。我认为我的语法有误,但不确定要修复什么。更改代码 package tic.tac.toe.menu; import javafx.application.Application; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.Scene; import
package tic.tac.toe.menu;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class TicTacToeMenu extends Application {
@Override
public void start(Stage primaryStage) {
Button start = new Button();
start.setText("How to Play?");
start.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
System.out.println("\n"+"The goal of tic-tac-toe is to get 3 of your pieces in a row vertically, horizontally, or diagonally ");
System.out.println("To play this game click inside a square to put down your piece, you choose to be 'x' or 'o' at the start");
}
});
StackPane root = new StackPane();
root.getChildren().add(start);
Scene scene = new Scene(root, 350, 250);
primaryStage.setTitle("Tic-Tac-Toe");
primaryStage.setScene(scene);
primaryStage.show();}
public void exit(Stage primaryStage) {
Button exit = new Button();
exit.setText("Quit?");
exit.setOnAction(new EventHandler<ActionEvent>() {
public void handle(ActionEvent event) {
System.exit(0);
})} // this line I get the error
StackPane root=new StackPane();
root.getChildren().add(exit);
Scene scene = new Scene(root, 350, 250);
primaryStage.setScene(scene);
primaryStage.show();
}
}
对此
})} // this line I get the error
您需要两个连续的右大括号:第一个用于完成handle
方法,第二个用于完成EventHandler
外圆括号用于完成
setOnAction
调用。最后是一个分号来完成语句。更改您的退出。setOnAction
调用如下
}});
exit.setOnAction(新的EventHandler(){
公共无效句柄(ActionEvent事件){
系统出口(0);
}
}); // 不是})
将}
替换为})代码>。您必须按与打开块相反的顺序关闭块。老实说,语法检查器不是这样。并且使用一个IDE,它会告诉你你缺少括号/括号/等等。它就是我用一个comment@BrianRoach当然是……看看下面的答案。太有效率了-众包是吗?@bblincoe我知道::叹气::我甚至会建议最后三个字符使用“下一行”来正确缩进。我甚至会建议最后三个字符使用“下一行”来正确缩进。
exit.setOnAction(new EventHandler<ActionEvent>() {
public void handle(ActionEvent event) {
System.exit(0);
}
}); // NOT })}