Skip to content
Snippets Groups Projects
Main.java 2.54 KiB
Newer Older
  • Learn to ignore specific revisions
  • Administrator's avatar
    Administrator committed
    package userInterface;
    
    
    Robert Goldmann's avatar
    Robert Goldmann committed
    import java.io.File;
    import java.util.Locale;
    import java.util.ResourceBundle;
    
    
    Administrator's avatar
    Administrator committed
    import javafx.application.Application;
    import javafx.event.EventHandler;
    import javafx.fxml.FXMLLoader;
    import javafx.scene.Parent;
    import javafx.scene.Scene;
    import javafx.scene.control.Alert.AlertType;
    import javafx.scene.image.Image;
    import javafx.stage.Stage;
    import javafx.stage.WindowEvent;
    
    Robert Goldmann's avatar
    Robert Goldmann committed
    import logger.FileOutputMode;
    import logger.Logger;
    
    import tools.AlertGenerator;
    
    Robert Goldmann's avatar
    Robert Goldmann committed
    import tools.PathUtils;
    
    Administrator's avatar
    Administrator committed
    
    
    public class Main extends Application
    {
    	@Override
    	public void start(Stage stage)
    	{
    		try
    
    Robert Goldmann's avatar
    Robert Goldmann committed
    		{			
    
    Administrator's avatar
    Administrator committed
    			FXMLLoader loader = new FXMLLoader(getClass().getResource("userInterface.fxml"));
    			Parent root = (Parent)loader.load();
    
    			Scene scene = new Scene(root, 800, 800);
    
    Robert Goldmann's avatar
    Robert Goldmann committed
    			scene.getStylesheets().add("/userInterface/application.css");
    
    			stage.setMinHeight(500);
    			stage.setMinWidth(700);
    			stage.setResizable(true);
    
    Administrator's avatar
    Administrator committed
    			stage.setTitle("SmartTime");
    			stage.setScene(scene);
    			
    
    			UserInterfaceController controller = (UserInterfaceController)loader.getController();			
    			controller.init(stage);
    
    Administrator's avatar
    Administrator committed
    
    			stage.getIcons().add(new Image("/userInterface/icon.png"));
    			stage.show();
    
    
    			// fängt die Aufforderung das Fenster zu schließen ab, um vorher
    			// noch eine Prüfung duchzuführen
    
    Administrator's avatar
    Administrator committed
    			stage.setOnCloseRequest(new EventHandler<WindowEvent>()
    			{
    				public void handle(WindowEvent we)
    				{
    
    Administrator's avatar
    Administrator committed
    					{
    
    						AlertGenerator.showAlert(AlertType.WARNING, "Warnung", "", "Die Stoppuhr läuft noch!", new Image("/userInterface/icon.png"), stage, null, false);
    						
    
    						// "schluckt" die Aufforderung das Fenster zu schließen
    
    Administrator's avatar
    Administrator committed
    						// (Fenster wird dadurch nicht geschlossen)
    						we.consume();
    					}
    					else
    					{
    						stage.close();
    					}
    				}
    			});
    		}
    		catch(Exception e)
    		{
    
    Robert Goldmann's avatar
    Robert Goldmann committed
    			Logger.error(e);
    
    Administrator's avatar
    Administrator committed
    		}
    	}
    	
    
    Robert Goldmann's avatar
    Robert Goldmann committed
    	@Override
    	public void init() throws Exception
    	{
    		ResourceBundle bundle = ResourceBundle.getBundle("userInterface/", Locale.GERMANY);
    		
    		Parameters params = getParameters();
    		String logLevelParam = params.getNamed().get("loglevel");		
    		Logger.setLevel(logLevelParam);	
    		
    		File logFolder = new File(PathUtils.getOSindependentPath() + "/Deadlocker/" + bundle.getString("app.name"));			
    		PathUtils.checkFolder(logFolder);
    		Logger.enableFileOutput(logFolder, System.out, System.err, FileOutputMode.COMBINED);
    		
    		Logger.appInfo(bundle.getString("app.name"), bundle.getString("version.name"), bundle.getString("version.code"), bundle.getString("version.date"));		
    	}
    	
    
    Administrator's avatar
    Administrator committed
    	public static void main(String[] args)
    	{
    		launch(args);
    	}
    }