Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么不允许覆盖_Java_Javafx - Fatal编程技术网

Java 为什么不允许覆盖

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.

我需要检查用户名和密码。如果用户名和密码正确>打开新FXML

现在,如果用户名和密码正确,我如何打开新的FXML

错误:此处不允许批注

注意:操作代码在登录按钮的“我的另一个类”中

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)你应该从解释你到底想做什么开始。你的代码是非法的(未编译),但如果不知道你的目标,没有人能帮助你。