diff options
Diffstat (limited to 'src/client/MainWindow.java')
| -rw-r--r-- | src/client/MainWindow.java | 72 |
1 files changed, 46 insertions, 26 deletions
diff --git a/src/client/MainWindow.java b/src/client/MainWindow.java index f42ecef..f3fbf63 100644 --- a/src/client/MainWindow.java +++ b/src/client/MainWindow.java @@ -1,43 +1,51 @@ package org.manzerbredes.open_klm.client; -import java.awt.EventQueue; -import java.awt.GridLayout; -import java.awt.Label; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - -import javax.swing.BoxLayout; -import javax.swing.JButton; -import javax.swing.JComboBox; -import javax.swing.JFrame; -import javax.swing.JPanel; +import javax.swing.*; import org.manzerbredes.open_klm.drivers.*; -import org.manzerbredes.open_klm.drivers.DriverTypeA.*; +/** + * Main Window + * + * @author Manzerbredes + * + */ public class MainWindow extends JFrame { + /** + * Define serial Version UID + */ + private static final long serialVersionUID = 8058826286308946977L; + - private Class<?>[] availableGUI={ - GUITypeA.class + /** + * Contain all JPanel corresponding to each driver type + */ + private Class<?>[] driverJPanels={ + JPanelTypeA.class }; + + /** + * Build a main window + * @param aDriver + */ public MainWindow(Driver aDriver){ - // Configure MainWindow - this.setTitle("Open KLM"); - this.setSize(700, 500); - setLocationRelativeTo(null); - setDefaultCloseOperation(EXIT_ON_CLOSE); + // Configure main window + this.initUI(); - - for(int i=0;i<this.availableGUI.length;i++){ + // Add driver panel + for(int i=0;i<this.driverJPanels.length;i++){ try { - GUI gui=(GUI) availableGUI[i].newInstance(); - if(gui.getType().equals(aDriver.getType())){ - if(gui.initGUI(aDriver)){ - this.add((JPanel) gui); + // Build a panel + DriverJPanel driverJPanel=(DriverJPanel) driverJPanels[i].newInstance(); + // If the panel have the same type of the driver try to init it + if(driverJPanel.getType().equals(aDriver.getType())){ + // If init success add it to the main window + if(driverJPanel.initUI(aDriver)){ + this.add((JPanel) driverJPanel); } } @@ -46,9 +54,21 @@ public class MainWindow extends JFrame { } } - + // Display the main window this.setVisible(true); } + + + /** + * Configure main window + */ + private void initUI(){ + // Configure MainWindow + this.setTitle("Open KLM"); + this.setSize(700, 500); + setLocationRelativeTo(null); + setDefaultCloseOperation(EXIT_ON_CLOSE); + } }
\ No newline at end of file |
