Javafx 单击按钮时从.fxml文件中的文本字段检索字符串。(创建登录场景以将场景切换到主场景)
对编程非常陌生。我正在学习java和javaFX 我试着制作一个登录场景和一个家庭场景,目前有一个“登录”按钮,它调用控制器中的一个方法-loginButton()-在这两个场景之间切换。我不确定的部分是如何设置此方法以从用户名和密码文本/密码字段检索字符串。 我还没有兴趣用数据库来建立这个。我想要的是这样的东西(出于示例的目的,垃圾登录详细信息,我永远不会使用如此糟糕的登录信息): 我知道如何切换场景,但我不知道如何获取登录信息(在上面的示例中显示为textFromLoginField和textFromPasswordField) 我是如何切换场景的Javafx 单击按钮时从.fxml文件中的文本字段检索字符串。(创建登录场景以将场景切换到主场景),javafx,Javafx,对编程非常陌生。我正在学习java和javaFX 我试着制作一个登录场景和一个家庭场景,目前有一个“登录”按钮,它调用控制器中的一个方法-loginButton()-在这两个场景之间切换。我不确定的部分是如何设置此方法以从用户名和密码文本/密码字段检索字符串。 我还没有兴趣用数据库来建立这个。我想要的是这样的东西(出于示例的目的,垃圾登录详细信息,我永远不会使用如此糟糕的登录信息): 我知道如何切换场景,但我不知道如何获取登录信息(在上面的示例中显示为textFromLoginField和tex
Node node=(Node) actionEvent.getSource();
Stage stage=(Stage) node.getScene().getWindow();
stage.setScene(new Scene(FXMLLoader.load(getClass().getResource("homeScene.fxml")),750,500));
stage.show();
我的FXML文本:
VBox maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="159.0" prefWidth="157.0" spacing="10.0" style="-fx-background-color: Black;" HBox.hgrow="NEVER">
<HBox.margin>
<Insets bottom="60.0" top="60.0" />
</HBox.margin>
<padding>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
</padding>
<children>
<Label text="LOGIN:" textFill="WHITE" />
<TextField fx:id="loginTextField" promptText="Username" />
<PasswordField fx:id="passwordTextField" promptText="Password" />
<HBox alignment="TOP_RIGHT" prefHeight="21.0" prefWidth="137.0" spacing="10.0">
<children>
<Button mnemonicParsing="false" fx:id="loginbutton" onAction="#loginButton" style="-fx-background-color: Blue;" text="Login" textAlignment="CENTER" textFill="WHITE">
<font>
<Font name="System Bold" size="12.0" />
</font>
</Button>
<Button mnemonicParsing="false" fx:id="helpbutton" onAction="#helpButton" style="-fx-background-color: Orange;" text="Help" textAlignment="CENTER" textFill="WHITE">
<font>
<Font name="System Bold" size="12.0" />
</font>
</Button>
</children>
</HBox>
</children>
</VBox>
VBox maxHeight=“-Infinity”maxWidth=“-Infinity”prefHeight=“159.0”prefWidth=“157.0”spating=“10.0”style=“-fx背景色:黑色;“HBox.hgrow=”NEVER“>
非常感谢您的帮助:)
-此外,如果我使用了任何技术词汇错误,请让我知道。我是新来的。谢谢“==”不适用于字符串。使用textFromLoginField.equals();。查看字符串函数。假设您已经以通常的方式在控制器中定义了一个
loginTextField
,只需执行if(loginTextField.getText().equals(“admin”)
等操作。学习java的基本教程。。这是每个新手都需要做的…非常感谢你指出这一点!当我了解如何从textField获取字符串时,我会记住这一点:)
VBox maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="159.0" prefWidth="157.0" spacing="10.0" style="-fx-background-color: Black;" HBox.hgrow="NEVER">
<HBox.margin>
<Insets bottom="60.0" top="60.0" />
</HBox.margin>
<padding>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
</padding>
<children>
<Label text="LOGIN:" textFill="WHITE" />
<TextField fx:id="loginTextField" promptText="Username" />
<PasswordField fx:id="passwordTextField" promptText="Password" />
<HBox alignment="TOP_RIGHT" prefHeight="21.0" prefWidth="137.0" spacing="10.0">
<children>
<Button mnemonicParsing="false" fx:id="loginbutton" onAction="#loginButton" style="-fx-background-color: Blue;" text="Login" textAlignment="CENTER" textFill="WHITE">
<font>
<Font name="System Bold" size="12.0" />
</font>
</Button>
<Button mnemonicParsing="false" fx:id="helpbutton" onAction="#helpButton" style="-fx-background-color: Orange;" text="Help" textAlignment="CENTER" textFill="WHITE">
<font>
<Font name="System Bold" size="12.0" />
</font>
</Button>
</children>
</HBox>
</children>
</VBox>