Die Java-Version ist:
java version "1.7.0_03"
Java(TM) SE Runtime Environment (build 1.7.0_03-b05)
Java HotSpot(TM) Client VM (build 22.1-b02, mixed mode, sharing)
Alles funktioniert wie ich will, nur das Schließen bereitet mir Probleme.
Da ich mit JavaFXML das Fenster programmiert habe, bekomme ich es nicht hin, das Fenster über einen Button zu schließen.
Da die Buttons per fxml erstellt werden, habe ich eine Controller-Class, die die Events behandelt.
Mein Problem ist nun, wie bekomme ich es hin, dass ich das Fenster per "Schließen"-Button beenden kann.
Das Schließen führe ich im zweiten Fenster aus. Das Programm ist noch nicht fertig, es sind nur die Fenster erstellt worden.
Initialisierung des Fensters:
Code: Alles auswählen
package com.gast.personendaten;
import java.util.ResourceBundle;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
/**
* Main-Fenster für die Erfassung der Personendaten
* @author AL
* @version 1.0
* @since 25.04.2012
* <br>Initialisierung des Fensters für die Eingabe
*/
public class PersonendatenMain extends Application
{
personenwindowController pwC;
Stage stopStage;
/**
* Initialisierung des Fensters für Personendaten-Eingabe
* @param stage
* @throws Exception
* @version 1.0
* @since 25.04.2012
*/
@Override
public void start(Stage stage) throws Exception {
stage.setTitle("Personendaten");
Parent root = FXMLLoader.load(getClass().getResource("personenwindow.fxml"),
ResourceBundle.getBundle("com.gast.personendaten.personenwindow"));
Scene scene = new Scene(root, 520, 360);
stage.setScene(scene);
//Style-Sheet angeben
scene.getStylesheets().add("com/gast/personendaten/personenwindow.css");
stage.show();
pwC = new personenwindowController(stage);
}
}
Code: Alles auswählen
package com.gast.personendaten;
import java.util.ArrayList;
import java.util.List;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.stage.Stage;
/**
* Controller für die Event-Behandlung des Personen-Eingabe-Fensters
*
* @author AL
* @version 1.0
* @since 24.04.2012 <br><br>Regelung der Events für: <br>- Daten speichern
* <br>- Fenster schließen
*/
public class personenwindowController
implements PersonendatenInterface
{
private List<String> felderPersonendaten = new ArrayList<>();
private Stage stage;
/**
* Leerer Konstruktor
*/
public personenwindowController() {
}
public personenwindowController(Stage stage) {
this.stage = stage;
System.out.println("Konstruktor geladen : " + this.stage.toString());
}
/**
* Konstruktor für das Fenster der Personeneingabe
* @param list ArrayList für die Eingabefelder<br>Die Eingabefelder sind
* die Beizeichnungen der Eingabefelder<br>- Vorname<br>- Nachname
* <br>- Straße<br>- PLZ<br>- Ort
* @version 1.0
* @since 24.04.212 <br>
* <br>Die Übergebenen Parameter werden
*/
public personenwindowController(List<String> list) {
this.felderPersonendaten = list;
}
/**
* Speichern der eingegebenen Daten in der Datenbank
* @param event
* @throws Exception
* @version 1.0
* @since 26.04.2012
*/
@FXML
protected void btnSpeichern_Click(ActionEvent event) throws Exception {
System.out.println("Speichern");
}
/**
* Schließen der Anwendung
* @param event
* @throws Exception
* @version 1.0
* @since 26.04.2012<br>
* <br>Schließen des Fensters für die Eingabe der Personendaten
*/
@FXML
protected void btnSchliessen_Click(ActionEvent event) throws Exception {
stage.close();
}
}
Die Sources sind im Anhang.
Im Internet habe ich nichts gescheites gefunden, mir würden ein paar Links genügen, die einen blutigen Anfänger weiterbringen.
Danke für Eure Unterstützung
Gruß Lerando