Ich startete das Hauptfenster (Klasse Main
) und das modale Fenster (Klasse Login
) mit Login und Passwort. Während aktiv modalen Fenster, Hauptstufe =Wie man Effekt in javafx zurücksetzt?
Wenn Benutzer gültige modale Fenster ist geschlossen. Wie setzt man den Effekt in der Hauptstufe zurück
root.setEffect(new GaussianBlur());?
Vielen Dank! Hauptklasse:
public class Hauptanwendung {
Login loginWindow = new Login();
public static Stage windowMain;
@Override
public void start(Stage primaryStage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("/views/main.fxml"));
Scene scene = new Scene(root);
scene.getStylesheets().add(this.getClass().getResource("/style/main.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.show();
windowMain = primaryStage;
root.setEffect(new GaussianBlur());
loginWindow.display();
}
public static void main(String[] args) {
launch(args);
}
}
Login-Klasse erweitert:
public class Login {
public void display() throws IOException {
Stage window = new Stage();
window.initModality(Modality.APPLICATION_MODAL);
window.initStyle(StageStyle.UNDECORATED);
auth.setTranslateY(40);
auth.setTranslateX(100);
auth.getStyleClass().add("auth");
TextField username = new TextField();
username.setTranslateY(70);
username.setTranslateX(75);
PasswordField password = new PasswordField();
password.setTranslateY(100);
password.setTranslateX(75);
Button loginBtn = new Button();
loginBtn.getStyleClass().add("loginBtn");
loginBtn.setStyle("-fx-cursor: hand");
loginBtn.setTranslateX(115);
loginBtn.setTranslateY(155);
loginBtn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
if (username.getText().equals("admin") && password.getText().equals("admin")) {
window.close();
} else {
System.out.println("Error");
}
}
});
Pane layout = new Pane();
layout.getChildren().addAll(username, password, loginBtn);
Scene scene = new Scene(layout);
layout.getStylesheets().add(this.getClass().getResource("/style/login.css").toExternalForm());
username.setFocusTraversable(false);
password.setFocusTraversable(false);
window.setScene(scene);
window.setAlwaysOnTop(true);
window.showAndWait();
}
}
Vielen Dank. Aber wie kann ich Szenen aus der Hauptklasse bekommen? –
Bitte geben Sie keinen Code in Kommentare ein, bearbeiten Sie stattdessen die Frage und fügen Sie der Frage formatierten Code hinzu. – jewelsea
James_D, Vielen Dank !! –