jFxKasse/src/application/Main.java

123 lines
3.4 KiB
Java
Raw Normal View History

2018-03-29 19:51:34 +02:00
package application;
2018-03-29 19:45:41 +02:00
import java.io.File;
import java.io.FileInputStream;
import java.security.GeneralSecurityException;
import java.security.SecureRandom;
import java.util.Optional;
import java.util.Random;
import javafx.application.Application;
import javafx.application.Platform;
import javafx.fxml.FXMLLoader;
import javafx.geometry.Insets;
import javafx.stage.Stage;
import javafx.util.Pair;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.control.Alert;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.control.ButtonBar.ButtonData;
import javafx.scene.control.ButtonType;
import javafx.scene.control.Dialog;
import javafx.scene.control.Label;
import javafx.scene.control.PasswordField;
import javafx.scene.control.TextField;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.GridPane;
2018-03-29 19:51:34 +02:00
public class Main extends Application
{
2018-03-29 19:45:41 +02:00
private MainWindowController mwc;
2018-03-29 19:51:34 +02:00
2018-03-29 19:45:41 +02:00
private DBController dbc = new DBController(this);
2018-03-29 19:51:34 +02:00
private String schluesselNutzer; // Passwort des Nutzers
2018-03-29 19:45:41 +02:00
private Stage primaryStage;
2018-03-29 19:51:34 +02:00
2018-03-29 19:45:41 +02:00
@Override
2018-03-29 19:51:34 +02:00
public void start(Stage primaryStage)
{
2018-03-29 19:45:41 +02:00
this.primaryStage = primaryStage;
mainWindow();
2018-03-31 00:35:45 +02:00
//this.primaryStage.setResizable(false);
2018-03-29 19:45:41 +02:00
}
2018-03-29 19:51:34 +02:00
private void mainWindow()
{
2018-03-29 19:45:41 +02:00
try {
2018-03-29 19:51:34 +02:00
FXMLLoader loader = new FXMLLoader(
getClass().getResource("MainWindow.fxml"));
2018-03-29 19:45:41 +02:00
AnchorPane pane = loader.load();
2018-03-29 19:51:34 +02:00
// Test
2018-03-29 19:53:05 +02:00
//Test
2018-03-31 02:00:12 +02:00
//primaryStage.setWidth(1366);
//primaryStage.setHeight(732);
2018-03-29 19:51:34 +02:00
primaryStage.setTitle("jFxKasse"); // Title der Stage
2018-03-29 19:45:41 +02:00
mwc = loader.getController();
mwc.setMain(this, dbc);
2018-03-29 19:51:34 +02:00
firstStart(); // Prüft ob das Programm zuvor gestartet wurde
// dbc.main(); // Startet die Datenbank
//mwc.fuelleTablle(); // Ladt die Einträge in die Tabelle
2018-03-29 19:45:41 +02:00
Scene scene = new Scene(pane);
2018-03-29 19:51:34 +02:00
scene.getStylesheets()
.add(Main.class.getResource("application.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.show(); // zeigt die Stage an
} catch (Exception e) {
2018-03-29 19:45:41 +02:00
e.printStackTrace();
}
}
2018-03-29 19:51:34 +02:00
public static void main(String[] args)
{
2018-03-29 19:45:41 +02:00
launch(args);
}
2018-03-29 19:51:34 +02:00
private void firstStart() throws Exception
{
2018-03-31 00:35:45 +02:00
2018-03-29 19:51:34 +02:00
if (mwc.loadSettings()) { // Wenn XML gefunden
System.out.println("XML gefunden!");
mwc.initUI(); // Startet die UI
mwc.setDBLabel();
dbc.dbname = mwc.getDatabaseName();
2018-03-29 19:51:34 +02:00
dbc.verbindeDatenbank(); // Verbindet mit der Datenbank-Datei
2018-03-29 19:51:34 +02:00
} else { // Wenn keine XML gefunden --> erster Start
2018-03-29 19:45:41 +02:00
System.out.println("keine XML gefunden!");
2018-03-29 19:51:34 +02:00
if (System.getProperty("os.name").equals("Linux")) {
2018-03-29 19:45:41 +02:00
2018-03-29 19:51:34 +02:00
File dir = new File(
System.getProperty("user.home") + "/bin/jFxKasse"); // Erstellt
2018-03-29 19:51:34 +02:00
// den
// Unterordner
dir.mkdir(); // Erstellt den Unterordner
2018-03-29 19:45:41 +02:00
} else {
File dir = new File("C:/ProgramData/jFxKasse/"); // Erstellt den
2018-03-29 19:51:34 +02:00
// Unterordner
dir.mkdir(); // Erstellt den Unterordner
2018-03-29 19:45:41 +02:00
}
2018-03-29 19:51:34 +02:00
// mwc.saveSettings(mwc.getDatabaseName(), "dd"); // speichert das Passwort und
2018-03-29 19:51:34 +02:00
// den Individueller
// Schlüssel für die API in
// der XML
//dbc.verbindeDatenbank(); // Verbindet mit der Datenbank-Datei
//dbc.erstelleDatenbank(); // Neue Datenbank-Datei wird erstellt
//System.exit(0); // Programm wird beendet
2018-03-29 19:45:41 +02:00
}
}
2018-03-29 19:51:34 +02:00
2018-03-29 19:45:41 +02:00
}