Java tutorial
package at.ac.tuwien.qse.sepm.gui; /* * Copyright (c) 2015 Lukas Eibensteiner * Copyright (c) 2015 Kristoffer Kleine * Copyright (c) 2015 Branko Majic * Copyright (c) 2015 Enri Miho * Copyright (c) 2015 David Peherstorfer * Copyright (c) 2015 Marian Stoschitzky * Copyright (c) 2015 Christoph Wasylewski * * Permission is hereby granted, free of charge, to any person obtaining a copy of this * software and associated documentation files (the "Software"), to deal in the Software * without restriction, including without limitation the rights to use, copy, modify, merge, * publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons * to whom the Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all copies or * substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT * SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ import at.ac.tuwien.qse.sepm.service.PhotoService; import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.scene.image.Image; import javafx.stage.Stage; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.springframework.context.support.ClassPathXmlApplicationContext; public class App extends Application { private static final Logger logger = LogManager.getLogger(); private ClassPathXmlApplicationContext context; public App() { context = new ClassPathXmlApplicationContext("beans.xml"); } public static void main(String[] args) { launch(args); } @Override public void start(Stage stage) throws Exception { logger.info("Application started."); FXMLLoader loader = new FXMLLoader(); loader.setControllerFactory(context::getBean); // set base location so that resources can be loaded using relative paths loader.setLocation(getClass().getClassLoader().getResource("view")); Parent root = loader.load(getClass().getClassLoader().getResourceAsStream("view/Main.fxml")); stage.setScene(new Scene(root)); stage.setTitle("travelimg"); stage.getIcons().add(getApplicationIcon()); stage.show(); PhotoService photoService = (PhotoService) context.getBean("photoService"); photoService.initializeRepository(); } @Override public void stop() throws Exception { super.stop(); context.close(); } private Image getApplicationIcon() { return new Image(App.class.getClassLoader().getResourceAsStream("graphics/tmg_logo.png")); } }