完整的背景:我对整个应用程序的目标是创造一个多人可以玩的小游戏。它将非常简单,只有几个按钮和标签,最后还应该有一种玩家互动的方式。我还希望这个游戏可以通过服务器访问,每个玩家都有一个帐户,由用户名和密码组成。因为我是Java编程的新手,我知道——目前——完全超出了我的能力范围。但是我正在一点一点地学习我需要的一切,以便到达那里。
重要的部分:我设法将服务器和客户端与UI本地连接,但无法让我的程序创建帐户,这些帐户应存储在我的“帐户数据库”中。这导致没有人能够成功“登录”(此处通过显示消息“登录成功!试图解决这个问题,发现我需要为多个客户端使用线程,并几乎完全重写了我的代码。现在我什至无法将客户端连接到服务器...我尝试了很多东西,重写了这么多代码,以至于我不知道出了什么问题了。如果这里有人可以看看我可能超级混乱的代码,看看我需要在这里做什么,我将不胜感激。
我的主类代码:
公共类Main扩展应用程序{
@Override
public void start(Stage primaryStage) {
LoginUI loginUI = new LoginUI(primaryStage);
loginUI.setScene(primaryStage, loginUI.getScene());
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
InetAddress ip = null;
try {
ip = InetAddress.getByName("localhost");
} catch (UnknownHostException e) {
e.printStackTrace();
}
Client client = new Client(ip, 9376);
loginUI.getSignUpUI().setSignUpButtonAction(client);
//how do I get the instance of LoginUI instantiated in the start-Method?
}
}
预期结果:客户端连接到服务器,UI(LoginUI)显示为具有重定向到(SignUpUI)的超链接。该场景应允许用户输入用户名和密码,检查“AccountDataBase”中是否存在具有该用户名的现有帐户,并在可能的情况下最终创建帐户。回到(LoginUI)中,用户还应该能够输入用户名和密码,将其与我的“帐户数据库”中的帐户数据进行比较,并让用户登录。
实际结果:在重写代码以使用线程后,客户端不会连接到服务器。我最远的一次是建立了一个连接,但是无法创建新的账户,因为用户输入的账户日期可能没有存储在账户数据库中...
如果你已经做到了这一点,你可能需要看看我写的其他类的代码。我只是没有发布它们 bc 堆栈溢出告诉我不要发布整个文件......如果您需要更多代码,请随时告诉我!
这样地
public class Main extends Application {
LoginUI loginUI
@Override
public void start(Stage primaryStage) {
loginUI = new LoginUI(primaryStage);
loginUI.setScene(primaryStage, loginUI.getScene());
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
InetAddress ip = null;
try {
ip = InetAddress.getByName("localhost");
} catch (UnknownHostException e) {
e.printStackTrace();
}
Client client = new Client(ip, 9376);
loginUI.getSignUpUI().setSignUpButtonAction(client);
//how do I get the instance of LoginUI instantiated in the start-Method?
}
}