1 /* 2 Copyright (C) 2000 - 2007 Grid Systems, S.A. 3 4 This program is free software; you can redistribute it and/or modify 5 it under the terms of the GNU General Public License, version 2, as 6 published by the Free Software Foundation. 7 8 This program is distributed in the hope that it will be useful, 9 but WITHOUT ANY WARRANTY; without even the implied warranty of 10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 GNU General Public License for more details. 12 13 You should have received a copy of the GNU General Public License 14 along with this program; if not, write to the Free Software 15 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 16 */ 17 18 /* 19 * Project: KernelConfigurator 20 * Created on 23-feb-2004 21 * 22 * Copyright (c)2003 Grid Systems 23 */ 24 package com.gridsystems.config.app; 25 26 import java.awt.EventQueue; 27 28 import javax.swing.JFrame; 29 30 /** 31 * UI implementation for execution on window system environments. 32 * 33 * @author <a href="mailto:rruiz@gridsystems.com">Rodrigo Ruiz Aguayo</a> 34 * @version 1.0 35 */ 36 public class SwingUI extends UI { 37 /** 38 * The application frame. 39 */ 40 private static ConfigFrame frame = null; 41 42 /** 43 * {@inheritDoc} 44 */ 45 public boolean execute() { 46 // Frame creation must be performed within the Event thread 47 EventQueue.invokeLater(new Runnable() { 48 public void run() { 49 JFrame.setDefaultLookAndFeelDecorated(false); 50 frame = new ConfigFrame(); 51 frame.pack(); 52 frame.setLocationRelativeTo(null); 53 54 frame.setVisible(true); 55 } 56 }); 57 return true; 58 } 59 60 /** 61 * Gets the configuration panel. 62 * 63 * @return The panel 64 */ 65 public static ConfigPanel getConfigPanel() { 66 return frame == null ? null : frame.getConfigPanel(); 67 } 68 }