Hallo,
ich schreibe momentan eine Anwendung, die eine E-Mail und ein Passwort im ersten Fenster einliest. Sobald man auf Login klickt, öffnet sich ein neues Fenster auf dem "Eingeloggt als"+ email stehen soll, wobei email durch die Eingabe in das TextField ersetzt werden soll. Ich habe schon nach einigen Möglichkeiten gegoogelt, aber keine davon war zielführend bzw. funktionsfähig. Ich nutze für die Gestaltung der Fenster FXML in Kombination mit SceneBuilder.
Die setText Methode stellt dabei meinen Versuch dar die TextField Eingabe zu nutzen
ich schreibe momentan eine Anwendung, die eine E-Mail und ein Passwort im ersten Fenster einliest. Sobald man auf Login klickt, öffnet sich ein neues Fenster auf dem "Eingeloggt als"+ email stehen soll, wobei email durch die Eingabe in das TextField ersetzt werden soll. Ich habe schon nach einigen Möglichkeiten gegoogelt, aber keine davon war zielführend bzw. funktionsfähig. Ich nutze für die Gestaltung der Fenster FXML in Kombination mit SceneBuilder.
Die setText Methode stellt dabei meinen Versuch dar die TextField Eingabe zu nutzen
Java:
//Controller Klasse
public class controller {
public TextField email;
public TextField passwort;
public Button login;
public Label logged;
public void setText(ActionEvent event){
{
StringBuilder build = new StringBuilder();
build.append("Eingeloggt als ");
build.append(email.getText());
String eingabe = build.toString();
logged.setText(eingabe);
}
}
public void pressButton(ActionEvent event) throws Exception {
try {
FXMLLoader eingeloggt = new FXMLLoader(getClass().getResource("loggedin.fxml"));
Parent root1 = (Parent) eingeloggt.load();
Stage stage = new Stage();
stage.setScene(new Scene(root1));
stage.show();
} catch(Exception e) {
e.printStackTrace();
}
}
public void return_pressButton(ActionEvent event) throws Exception {
Parent root1 = FXMLLoader.load(getClass().getResource("testing.fxml"));
Scene login_scene = new Scene(root1);
Stage window = (Stage) ((Node) event.getSource()).getScene().getWindow();
window.setScene(login_scene);
window.show();
}
}
Java:
//Die Start-Klasse
public class fxml extends Application {
@Override
public void start(Stage stage) throws IOException {
FXMLLoader fxmlloader = new FXMLLoader(getClass().getResource("testing.fxml"));
VBox load = fxmlloader.load();
controller controller = fxmlloader.getController();
Scene scene = new Scene(load, 640, 480);
stage.setScene(scene);
stage.show();
}
public static void main(String[] args){launch();}
}
Java:
//Beide FXML Dateien
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.control.Button?>
<VBox alignment="CENTER" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="controller">
<children>
<Label fx:id="logged" alignment="CENTER" contentDisplay="CENTER" text="Logged In"/>
<Button fx:id="return_button" mnemonicParsing="false" onAction="#return_pressButton" text="Return"/>
</children>
</VBox>
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.VBox?>
<VBox prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="controller">
<children>
<Label fx:id="email1" text="E-Mail:" />
<TextField fx:id="email" promptText="E-Mail" />
<Label fx:id="passwort1" text="Passwort:" />
<TextField fx:id="passwort" promptText="Passwort " />
<Button fx:id="login" alignment="CENTER" contentDisplay="CENTER" mnemonicParsing="false" onAction="#pressButton" prefHeight="25.0" prefWidth="625.0" text="Login" textAlignment="CENTER" />
</children>
</VBox>
Zuletzt bearbeitet: