// uniCenta oPOS - Touch Friendly Point Of Sale // Copyright (c) 2009-2018 uniCenta & previous Openbravo POS works // https://unicenta.com // // This file is part of uniCenta oPOS // // uniCenta oPOS is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // uniCenta oPOS is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with uniCenta oPOS. If not, see . package com.unicenta.pos.config; import com.alee.laf.WebLookAndFeel; import com.unicenta.basic.BasicException; import com.unicenta.pos.forms.AppConfig; import com.unicenta.pos.forms.AppLocal; import com.unicenta.pos.forms.AppProperties; import com.unicenta.pos.forms.JRootFrame; import java.awt.BorderLayout; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.*; import javax.swing.plaf.metal.MetalLookAndFeel; /** * * @author adrianromero */ public class JFrmConfig extends javax.swing.JFrame { private final JPanelConfiguration config; /** Creates new form JFrmConfig * @param props */ public JFrmConfig(AppProperties props) { initComponents(); try { this.setIconImage(ImageIO.read(JRootFrame.class.getResourceAsStream("/com/unicenta/images/favicon.png"))); } catch (IOException e) { } setTitle(AppLocal.APP_NAME + " - " + AppLocal.APP_VERSION + " - " + AppLocal.getIntString("Menu.Configuration")); addWindowListener(new MyFrameListener()); config = new JPanelConfiguration(props); getContentPane().add(config, BorderLayout.CENTER); try { config.activate(); } catch (BasicException e) { // never thrown ;-) } } private class MyFrameListener extends WindowAdapter{ @Override public void windowClosing(WindowEvent evt) { if (config.deactivate()) { dispose(); } } @Override public void windowClosed(WindowEvent evt) { System.exit(0); } } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ // //GEN-BEGIN:initComponents private void initComponents() { setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE); setMinimumSize(new java.awt.Dimension(950, 450)); setPreferredSize(new java.awt.Dimension(950, 500)); setSize(new java.awt.Dimension(808, 794)); setLocationRelativeTo(null); }// //GEN-END:initComponents /** * @param args the command line arguments */ public static void main(final String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { @Override public void run() { AppConfig config = new AppConfig(args); config.load(); // Set the look and feel try { Object laf = Class.forName(config.getProperty("swing.defaultlaf")).newInstance(); if (!(laf instanceof MetalLookAndFeel) && laf instanceof LookAndFeel) { UIManager.setLookAndFeel((LookAndFeel) laf); } else { UIManager.setLookAndFeel("com.formdev.flatlaf.intellijthemes.FlatGrayIJTheme"); } } catch (Exception e) { System.out.println("Cannot set Look and Feel "+e.getMessage()); } new JFrmConfig(config).setVisible(true); } }); } // Variables declaration - do not modify//GEN-BEGIN:variables // End of variables declaration//GEN-END:variables }