Java 为什么不允许覆盖
我需要检查用户名和密码。如果用户名和密码正确>打开新FXML 现在,如果用户名和密码正确,我如何打开新的FXML 错误:此处不允许批注 注意:操作代码在登录按钮的“我的另一个类”中Java 为什么不允许覆盖,java,javafx,Java,Javafx,我需要检查用户名和密码。如果用户名和密码正确>打开新FXML 现在,如果用户名和密码正确,我如何打开新的FXML 错误:此处不允许批注 注意:操作代码在登录按钮的“我的另一个类”中 package game; import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.stage.
package game;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
import java.sql.*;
public class db {
private Connection connection;
private PreparedStatement preparedStatement;
public db() throws Exception {
Class.forName("com.mysql.cj.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/riverraider";
String user = "root";
String pass = "146155";
connection = DriverManager.getConnection(url,user,pass);
}
public void select(String username, String password) throws Exception {
String sql = "SELECT * FROM user WHERE username = ? AND password = ?";
PreparedStatement ps = connection.prepareStatement(sql);
ps.setString(1,username);
ps.setString(2, password);
ResultSet result = ps.executeQuery();
if (result.next()){
@Override
public void start(Stage primaryStage) throws Exception {
Parent parent = FXMLLoader.load(getClass().getResource("/view/gameMenu.fxml"));
Scene scene = new Scene(parent);
primaryStage.setScene(scene);
primaryStage.show();
}
}else {
System.out.println("Incorect.");
}
}
}
您的
db
类不是JavaFX应用程序类
此类应与JavaFX应用程序的其余部分分开,并从外部调用select()
还应返回一个boolean
值,指示它是否成功
public class MyApp extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
DB db = new DB();
if (db.select("foo", "foopassword")) {
Parent parent = FXMLLoader.load(getClass().getResource("/view/gameMenu.fxml"));
Scene scene = new Scene(parent);
primaryStage.setScene(scene);
primaryStage.show();
}
}
public static void main(String[] args)
{
launch(args);
}
}
在调用数据库之前,很可能已经打开了一个窗口,以便从用户处获取用户名/密码
然后,您只需自己创建一个新的
Stage
,并以相同的方式加载FXML。您不能在另一个方法中声明一个方法。这与我们的计划无关annotation@IlanKeshet那么你的建议是什么呢???@Alireza为什么需要内部函数?你能把它搬出去吗?@Ilankshet是的。。打开游戏菜单:(@Alireza)你应该从解释你到底想做什么开始。你的代码是非法的(未编译),但如果不知道你的目标,没有人能帮助你。