【发布时间】:2016-10-19 04:04:03
【问题描述】:
EDITTED - 仍然出现同样的错误
我正在尝试创建一个函数,该函数将获取用户选择的单词,验证它是否是所有字符,然后返回它。但我得到了错误
"incompatible types: bad return type in lambda expression
unexpected return value
Unnecessary return statement"
我不明白如何更改它以使其更好地工作。
String newWordScene(Stage primaryStage)
{
Text prompText = new Text("Word to guess: ");
TextField wordToGuess = new TextField();
Button submitButton = new Button();
GridPane grid = new GridPane();
grid.add(prompText, 0, 0);
grid.add(wordToGuess, 0, 1);
grid.add(submitButton, 0, 2);
Scene newWordScene = new Scene(grid, 500, 500);
primaryStage.setScene(newWordScene);
primaryStage.show();
submitButton.setOnAction(e->
{
if(verify(wordToGuess.getText()))
return wordToGuess.getText();
});
}
}
【问题讨论】:
-
语法错误。当你在 lambda 中使用 return 语句时,你必须使用像
e -> { return wordToGuess.getText(); }这样的大括号 -
用花括号括起来或者干脆
wordToGuess.getText() -
您使用的是什么 Button 类。我找不到使用 setOnAction() 方法的方法。
-
我正在使用包 javafx.scene.control.Button