summaryrefslogtreecommitdiff
path: root/src/client/MainWindow.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/MainWindow.java')
-rw-r--r--src/client/MainWindow.java72
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