XMSS – Introduction

Welcome to xmss.de!

Complexity of management

In order to manage complexity in management, intelligent user interfaces must be made available which, based on proven web technologies and proven programming concepts, can handle the requirements efficiently, effectively and intuitively. This is about browsing htrough millions or billions of data records on demand as required. As will be shown, this is one of the main management challenges.

What is XMSS?

XMSS minimizes the complexity, by applying knowledge from management sciences, artificial intelligence (AI) and cognitive sciences for the conception and development of tailored management support systems (MSS). XMSS (eXtended Management Support System) is an executable and evolutionary web-app prototype based on the J2EE platform . XMSS was developed © 2006 by N. A. Doger in the context of a master thesis and further developed and tailored for the appliance in several companies. (see fig. 1).

Figure 1: XMSS Screenshot I (Browser View)

The main goal of the XMSS design was (2006) to provide a user interface (UI) to accomplish, cover and overcome the high complexity in the context of emerging technologies, by internalising holistic concepts, leant on  scientific and market-oriented state-of-the-art principles in the fields of usability, management sciences, business analytics, AI, cognitive sciences, Enterprise Resource Planning (ERP) and many more…

Main Specifications

  • Tailored Information Systems
  • Offers user-friendly meta-models for standard businesses processes
  • Individual integration into  entrepreneurial needs and requirement engineering
  • Provides all participants a clear overview on the entrepreneurial potential
  • high-level reality orientation
  • Main goal: Reengineering or/and enhancing of (more or less) inefficient Management-Information Systems
  • You can download or clone the Github repository of XMSS vs. 0.9 here:

                                                             Download XMSS Demo

Motivation

In IT-dominated offices employees / users often hired (and sometimes unfortunately doomed) to accomplish the high complexity of company structures and processes.
The intelligent use of user interfaces  based on multimedial and -modal technologies should be orienting much more on the human nature .


“We are the masters, they (machines) are the slaves.”

(Matsumoto 2005)

Approach

Concerning the key issues of holistic human performance, fundemantal research

  • in cognitive sciences is necessary, in order to activate the key performance indicators of companies into emerging technologies such as AI and Management Sciences
  • cognitive research has to be considered in the user-model and used artificial intelligent methods.

Technology

  • The current prototype is built on a J2EE-Environment with an integrated browser-interface.
  • Specific elements of the given MSS-environment is integrated in the XMSS-User-Interface (UI) and  designed to optimize the interaction between the user and the management system.
  • The UI of XMSS vs. 05  is based on the Java technology – the next version 2.0 will be migrated to the Python platform (February 2020).
  • The XMSS-UI is composed by  XMSS-Views designed for an intuitive use.
  • The navigation-functionality of your optimized Management Information System presents the results of these user-adaptable views with automatable behaviours, leant on the objects of the real world. 

Prototyping

The iterative growth of the weekly delivered prototype version is the basis of the integration of the customer into the development process as it is required in agile engineering (see fig. 2).

Figure 2: Prototype development in weekly increments of prototype versions

The open source prototype 0_9 which is downloadable on github, has the following characteristics:

  • The first prototype Vs 0.9 gives an idea of the advantages of the new creative leeway and room to maneuvre managing your business in a stand-alone-solution.
  • XMSS depicts the entirety of all objects and processes of your enterprise.
  • The intelligent XMSS-UI integrates and adapts all Applications, Services, Processes, Objects and human resources in just one interface, capable of learning, supporting, describing and analyzing user- and system-interactions aided by special services and agents.

The XMSS UI

  • The  XMSS-JAVA-GUI-View compasses these views: 
    • Object view
    • Process view
    • Menu view  
    • Tree view
  • The Browser- and plug-in-based classes contain the
    • main map (see fig. 3),
    • department view (see fig. 4),
    • extern view (see fig. 5)
    • browser view (see fig. 6).
Fig. 3: XMSS Main Map
Fig. 4: XMSS Department View

Fig. 5: Extern View

Fig. 6: XMSS Screenshot II (Browser-View)

Usability

  • XMSS-views are specific reality-oriented perspectives of a given MSS or enterprise in general.
  • The main-frame of the XMSS-Java-GUI is divided vertically in two halfs. 
  • In the upper half it´s possible to select modules or processes within a tree-logic.
  • In the lower half XHTML-documents can be integrated and previewed logically and physically in the XMSS. 
  • Further on special web- or desktop-based applications and services can be opened directly from the UI.

Model

Meta-Modelling

The following decomposition diagram focuses the organisation units, to be supported by XMSS. The information flows between the organizational units are registered here.

Figuer 6: Meta-Organisation in Enterprises
  • It is assumed that each OU has its own subsystem of key figure and value drivers (KuW).
  • For this purpose, the KuW vkn for the board level, fqkn of the functional areas fq and spfqkn of the sub-functional areas spfq are defined for all fq.
  • This approach is based on the decomposition of the organizational structure of the company (see Fig. 6).
  • The following example shows what an allocation of the Kuw can look like in practice (see Table 1).
  • The actual analysis of the key figure dimension on which the given management support system is based can be done e.g. B. Record as follows (general presentation).

Table 1: Key Performance Indicators

Special MSS elements are a central component of XMSS and are based on different KuW depending on the specification. XMSS provides the user with the relevant KuW and their dependencies or correlations with each other using element-specific methods. Here are four examples of such methods and procedures.

XMSS Components and Elements

Specific MSS elements are a central component of XMSS and are based on different KuW depending on the specification. XMSS provides the user with the relevant KuW and their dependencies or correlations with each other using element-specific methods. Here are four examples of such methods and procedures (see fig. 7).

Figure 7: XMSS Elements
Figure X: XMSS Business Modell I
Figure X: XMSS Business II

IT-Modell

3-Layer-Architecture

Figure 8: 3-Layer-Architecture

Business and User Model Interfaces

Figure 9: Business- and User Model Interfaces

Class Model of the UI layer

Figure 10: Class Model of the Business Layer

Class Model of Business Layer

Figure 11: Class Model of the Business Layer

Class Modell of Business- and Data Layer

Figure 12: Class Model of Business- and Data Layer

Class Modell of Data Layer

Figure 13: Class Modell of Data Layer

Sequence Diagram of XMSS-Element “Simulation”

Figure 15: Sequence Diagram of the XMSS-Element “Simulation”

Deployment Model

Figure 14: XMSS Deployment Model

Implementation

Concept of integration, testing and handover

After the implementation phase, the components are distributed and the necessary software (and also hardware) systems integrated (e.g. inserting the db4O packages into the IS of the company and installing the JVM and other components (Flash, RealPlayer etc .) in the client-server system environment, where appropriate the expansion or (re) integration of external services (database pool providers, business and information services etc.) is also pending.
Then it is necessary to validate the system results with the test. In a milestone situation, this includes comparing or determining the target-actual deviations from the goals set in the target definition. All the results of the content belong carefully to everyone involved, in a separate document. In it, the target deviations, the problem-solving process and personnel aspects as well as an analysis of the success factor communication during the project process should be presented. A final meeting finally (as a provisional) last project event enables the exchange of know-how and experience and the formal handover.

XMSSmodules.java

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreeSelectionModel;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultTreeCellRenderer;
import javax.swing.ImageIcon;
import java.net.URL;
import java.io.IOException;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.LayoutManager;

public class XMSSmodules extends JPanel 
                          implements TreeSelectionListener {
    private JEditorPane htmlPane;
    private JTree tree;
    private URL helpURL;
    private static boolean DEBUG = false;

    public XMSSmodules() {
        super(new BorderLayout());
        //Create the nodes.        
        DefaultMutableTreeNode top =
            new DefaultMutableTreeNode("myXMSS");
        createNodes(top);
        //Create a tree that allows one selection at a time.
        tree = new JTree(top);
        tree.getSelectionModel().setSelectionMode
                (TreeSelectionModel.SINGLE_TREE_SELECTION);
        //Set the icon for leaf nodes.
        ImageIcon leafIcon = createImageIcon("images/middle.gif");
        if (leafIcon != null) {
            DefaultTreeCellRenderer renderer = new DefaultTreeCellRenderer();
            renderer.setLeafIcon(leafIcon);
            tree.setCellRenderer(renderer);
        } else {
            System.err.println("Leaf icon missing; using default.");
        }
        //Listen for when the selection changes.
        tree.addTreeSelectionListener(this);
        //Create the scroll pane and add the tree to it. 
        JScrollPane treeView = new JScrollPane(tree);
        //Create the HTML viewing pane.
        htmlPane = new JEditorPane();
        htmlPane.setEditable(false);
        initHelp();
        JScrollPane htmlView = new JScrollPane(htmlPane);
        //Add the scroll panes to a split pane.
        JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
        splitPane.setTopComponent(treeView);
        splitPane.setBottomComponent(htmlView);
        splitPane.setDividerLocation(128);
        add(splitPane, BorderLayout.CENTER);
    }
    /** Required by TreeSelectionListener interface. */
    public void valueChanged(TreeSelectionEvent e) {
        DefaultMutableTreeNode node = (DefaultMutableTreeNode)
                           tree.getLastSelectedPathComponent();
        if (node == null) return;
        Object nodeInfo = node.getUserObject();
        if (node.isLeaf()) {
            moduleComponentInfo moduleComponent = (moduleComponentInfo)nodeInfo;
            displayURL(moduleComponent.moduleComponentURL);
            if (DEBUG) {
                System.out.print(moduleComponent.moduleComponentURL + ":  n    ");
            }
        } else {
            displayURL(helpURL); 
        }
        if (DEBUG) {
            System.out.println(nodeInfo.toString());
        }
    }
    private class moduleComponentInfo {
        public String moduleComponentName;
        public URL moduleComponentURL;

        public moduleComponentInfo(String moduleComponent, String filename) {
            moduleComponentName = moduleComponent;
            moduleComponentURL = XMSSmodules.class.getResource(filename);
            if (moduleComponentURL == null) {
                System.err.println("Couldn't find file: "
                                   + filename);
            }
        }
        public String toString() {
            return moduleComponentName;
        }
    }
    private void initHelp() {
        String s = "object_preview.html";
        helpURL = XMSSmodules.class.getResource(s);
        if (helpURL == null) {
            System.err.println("Couldn't open help file: " + s);
        } else if (DEBUG) {
            System.out.println("Help URL is " + helpURL);
        }
       displayURL(helpURL);
    }
    private void displayURL(URL url) {
        try {
            if (url != null) {
                htmlPane.setPage(url);
            } else { //null url
		htmlPane.setText("check code !!!");
                if (DEBUG) {
                    System.out.println("Attempted to display a null URL.");
                }
            }
        } catch (IOException e) {
            System.err.println("Attempted to read a bad URL: " + url);
        }
    }
    private void createNodes(DefaultMutableTreeNode top) {
        DefaultMutableTreeNode moduleCategory = null;
        DefaultMutableTreeNode moduleComponent = null;
 
        moduleCategory = new DefaultMutableTreeNode("XMSS Views");
        top.add(moduleCategory);
     
        moduleComponent = new DefaultMutableTreeNode(new moduleComponentInfo
            ("XMSS Main Map",
            "xmss_main_map.html"));
        moduleCategory.add(moduleComponent);
 
        moduleComponent = new DefaultMutableTreeNode(new moduleComponentInfo
            ("XMSS Department View",
            "xmss_department_view.html"));
        moduleCategory.add(moduleComponent);
     
        moduleComponent = new DefaultMutableTreeNode(new moduleComponentInfo
            ("XMSS Extern View",
            "xmss_extern_view.html"));
        moduleCategory.add(moduleComponent);
  
        moduleCategory.add(moduleComponent);		
     
        moduleCategory = new DefaultMutableTreeNode("Reports");
        top.add(moduleCategory);

        moduleComponent = new DefaultMutableTreeNode(new moduleComponentInfo
            ("AlleWochenberichte2005.xls",
             "excel_preview_1.html"));
        moduleCategory.add(moduleComponent);
    
        moduleComponent = new DefaultMutableTreeNode(new moduleComponentInfo
            ("KennzahlenVertriebNov2005.xls",
             "excel_preview_2.html"));

        moduleCategory.add(moduleComponent);        
           moduleCategory = new DefaultMutableTreeNode("Multimedia- und Hypermedia-Dateien");
        top.add(moduleCategory);

        moduleComponent = new DefaultMutableTreeNode(new moduleComponentInfo
            ("ConferenceSamplePart1.avi",
            "video_preview.html"));
        moduleCategory.add(moduleComponent);

        moduleComponent = new DefaultMutableTreeNode(new moduleComponentInfo
            ("ProjectPresentationA12.ppt",
            "pp_preview_a12.html"));
        moduleCategory.add(moduleComponent);

        moduleComponent = new DefaultMutableTreeNode(new moduleComponentInfo
            ("VectorPresentationApplet.xhtml",
            "vector_presentation_applet.html"));
        moduleCategory.add(moduleComponent);

        moduleComponent = new DefaultMutableTreeNode(new moduleComponentInfo
            ("UnserKennzahlensytem.doc",
	     "doc_viewer.html"));
        moduleCategory.add(moduleComponent);		
		moduleCategory = new DefaultMutableTreeNode("Avatare");
        top.add(moduleCategory);

        moduleComponent = new DefaultMutableTreeNode(new moduleComponentInfo
            ("Avatar Settings",
             "avatar_settings.html"));
        moduleCategory.add(moduleComponent);
		
        moduleComponent = new DefaultMutableTreeNode(new moduleComponentInfo
            ("ReportAgent",
             "report_agent.html"));
        moduleCategory.add(moduleComponent);

        moduleComponent = new DefaultMutableTreeNode(new moduleComponentInfo
            ("Simulation Agent",
             "simulation_agent.html"));
        moduleCategory.add(moduleComponent);

        moduleComponent = new DefaultMutableTreeNode(new moduleComponentInfo
            ("Conference Agent",
             "conference_agent.html"));
        moduleCategory.add(moduleComponent);
				
		moduleCategory = new DefaultMutableTreeNode("OLAP_Module");
        top.add(moduleCategory);

        moduleComponent = new DefaultMutableTreeNode(new moduleComponentInfo
            ("OLAP-Cube Settings",
             "olap_settings.html"));
        moduleCategory.add(moduleComponent);

        moduleComponent = new DefaultMutableTreeNode(new moduleComponentInfo
            ("Olap-Cube Viewer",
             "olap_viewer.html"));
        moduleCategory.add(moduleComponent);		
    }
    /** Returns an ImageIcon, or null if the path was invalid. */
    protected static ImageIcon createImageIcon(String path) {
        java.net.URL imgURL = XMSSmodules.class.getResource(path);
        if (imgURL != null) {
            return new ImageIcon(imgURL);
        } else {
            System.err.println("Couldn't find file: " + path);
            return null;
        }
    }
}

Click here to get the full source code on Github.

XMSSMenuBar.java

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
import java.awt.*;
import java.awt.event.*;
import javax.swing.*; // Import der benötigten API-Packages

public class XMSSMenuBar extends JMenuBar 
{

   String[ ] fileItems = new String[ ] { "Open XMSS-File", "Save XMSS-File", "Open Media-File", "Exit" };
   String[ ] manageItems = new String[ ] { "Preferences", "Simulation", "Flow-Charts-Analyser" };
   String[ ] videoItems = new String[ ] { "Conference", "Capture Video", "Edit", "Configure Avatar", };
   String[ ] audioItems = new String[ ] { "Speech-Options", "Acoustic Designer", "Record Audio", "Edit Audio" };
   String[ ] phoneItems = new String[ ] { "Phone-Options", "Make a phone call", "Send SMS", "Use UMTS" };
   String[ ] interItems = new String[ ] { "Database-Settings", "Online-Analytical-Processing", "Plug-In-Settings", "Browser-Settings" };
   String[ ] helpItems = new String[ ] {  "XMSS Beta-Version 0.9", "Index A-Z", "XMSS-Introduction", "XMSS-Manual" };
   
   char[ ] fileShortcuts = { 'O','S','M','X' };
   char[ ] manageShortcuts = { 'P','S','F','V' };
   char[ ] videoShortcuts = { 'S','M','C','V' };
   char[ ] audioShortcuts = { 'C','H','L','J' };
   char[ ] phoneShortcuts = { 'B','U','Ü','K' };
   char[ ] interShortcuts = { 'D','G','D','I' };
   char[ ] helpShortcuts = { 'E','F','A','W' };
   
   XMSSprocesses process;
   XMSSmodules modules;
   
   public XMSSMenuBar(  ) 
  {

      JMenu fileMenu = new JMenu("FILE");
      JMenu manageMenu = new JMenu("MANAGE");
      JMenu videoMenu = new JMenu("VIDEO");
      JMenu audioMenu = new JMenu("AUDIO");
	  JMenu phoneMenu = new JMenu("PHONE");
	  JMenu interMenu = new JMenu("INTERFACES");
	  JMenu helpMenu = new JMenu("HELP");
	  JMenu report = new JMenu("View Reports");
      JMenu standardReport = new JMenu("Standard-Reports");
      JMenu adhocReport = new JMenu("Ad-Hoc-Report");
      JMenu exceptionReport = new JMenu("Exception-Reports");    
      // Assemble the File menus with mnemonics.
      ActionListener printListener = new ActionListener(  ) 
      {
         public void actionPerformed(ActionEvent event) 
         {
            System.out.println("Menu item [" + event.getActionCommand(  ) +
                               "] was pressed.");
         }
      };
      for (int i=0; i < fileItems.length; i++) 
      {
         JMenuItem item = new JMenuItem(fileItems[i], fileShortcuts[i]);
         item.addActionListener(printListener);
         fileMenu.add(item);
      }
      for (int i=0; i < phoneItems.length; i++) 
      {
          JMenuItem item = new JMenuItem(phoneItems[i], phoneShortcuts[i]);
          item.addActionListener(printListener);
          phoneMenu.add(item);
       }    
      for (int i=0; i < audioItems.length; i++) 
      {
          JMenuItem item = new JMenuItem(audioItems[i], audioShortcuts[i]);
          item.addActionListener(printListener);
          audioMenu.add(item);
      } 
      for (int i=0; i < interItems.length; i++)
      {
          JMenuItem item = new JMenuItem(interItems[i], interShortcuts[i]);
          item.addActionListener(printListener);
          interMenu.add(item);
      }
      
      for (int i=0; i < interItems.length; i++) 
      {
          JMenuItem item = new JMenuItem(helpItems[i], helpShortcuts[i]);
          item.addActionListener(printListener);
          helpMenu.add(item);
      }      
      // Assemble the File menus with keyboard accelerators.      
      for (int i=0; i < manageItems.length; i++)
      {
         JMenuItem item = new JMenuItem(manageItems[i]);
         item.setAccelerator(KeyStroke.getKeyStroke(manageShortcuts[i],
              Toolkit.getDefaultToolkit(  ).getMenuShortcutKeyMask(  ), false));
         item.addActionListener(printListener);
         manageMenu.add(item);
      }
      // Insert a separator in the Management menu in Position 1 after "Undo".
      manageMenu.insertSeparator(1);
      // Assemble the submenus of the management menu.
      JMenuItem item;
      standardReport.add(item = new JMenuItem("Daily Report"));
      item.addActionListener(printListener);
      standardReport.add(item = new JMenuItem("Weekly Report"));
      standardReport.add(item = new JMenuItem("Monthly Report"));
      standardReport.add(item = new JMenuItem("4-Month Report"));
      standardReport.add(item = new JMenuItem("Yearly Report"));
      item.addActionListener(printListener);
      report.add(standardReport);
      report.add(adhocReport);
      report.add(exceptionReport);
      manageMenu.add(report);      
      // assemble the video menu    
      videoMenu.add(item = new JCheckBoxMenuItem("Camera On"));
      item.addActionListener(printListener);
      videoMenu.addSeparator(  );
      ButtonGroup buttonGroup = new ButtonGroup(  );
      videoMenu.add(item = new JRadioButtonMenuItem("Radio 1"));
      item.addActionListener(printListener);
      buttonGroup.add(item);
      videoMenu.add(item = new JRadioButtonMenuItem("Radio 2"));
      item.addActionListener(printListener);
      buttonGroup.add(item);
      videoMenu.addSeparator(  );
      videoMenu.add(item = new JMenuItem("Potted Plant", 
                           new ImageIcon("image.gif")));
      item.addActionListener(printListener);
      //  adding all the menus to the menu bar.
      add(fileMenu);
      add(manageMenu);
      add(videoMenu);
	  add(audioMenu);  
      add(phoneMenu);
      add(interMenu);
    add(helpMenu);
	}  }

Click here to get the full source code on Github.

XMSSMainframe.java

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
/**
 * 
 */
/**
 * @author
 * Nuri Ayhan Doger 
 * info@doger.de
 *  
 * „XMSS – eXtended Management Support Systems (MSS) - 
 * Erweiterung von MSS mit Hilfe von neuen Medien 
 * auf der Grundlage von kognitionswissenschaftlichen 
 * und Künstliche Intelligenz (KI)-basierten Konzepten“

 * (evolutionärer Prototyp im Rahmen einer Master-Thesis 
 * im Master-Studiengang Master Of Science in Informationsystems) 
 *
 * unter der Betreuung von:
 *
 * Prof.Dr. Dieter Ehrenberg
 * Institut für Wirtschaftsinformatik
 * Universität Leipzig
 * XMSSMainFrame.java
 */
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.JPanel;
import javax.swing.JSplitPane;
import javax.swing.border.TitledBorder;

public class XMSSMainFrame extends JFrame {
	private JMenuBar jJMenuBar = null;
	private JPanel jPanel = null;
	private JSplitPane jSplitPane = null;
	private JPanel jPanel1 = null;
	private JPanel jPanel2 = null;
	/**
	 * This method initializes 
	 * 
	 */
	public XMSSMainFrame() {
		super();
		initialize();
	}
	/**
	 * This method initializes this
	 * 
	 */
	private void initialize() {
        this.setSize(new java.awt.Dimension(1024,664));
        this.setContentPane(getJPanel());
        this.setTitle("Prototp XMSS vs 0.992");
        this.setJMenuBar(getJJMenuBar());		
	}
	/**
	 * This method initializes jJMenuBar	
	 * 	
	 * @return javax.swing.JMenuBar	
	 */
	private JMenuBar getJJMenuBar() {
		if (jJMenuBar == null) {
			jJMenuBar = new XMSSMenuBar();
			jJMenuBar.setPreferredSize(new java.awt.Dimension(0,25));
		}
		return jJMenuBar;
	}
	/**
	 * This method initializes jPanel	
	 * 	
	 * @return javax.swing.JPanel	
	 */

	private JPanel getJPanel() {
		if (jPanel == null) {
			jPanel = new JPanel(new BorderLayout());
			jPanel.add(getJSplitPane(), BorderLayout.CENTER);
		}
		return jPanel;
	}
	/**
	 * This method initializes jSplitPane	
	 * 	
	 * @return javax.swing.JSplitPane	
	 */
	private JSplitPane getJSplitPane() {
		if (jSplitPane == null) {
			jSplitPane = new JSplitPane();
			jSplitPane.setResizeWeight(0.0D);
			jSplitPane.setPreferredSize(this.getSize());
			jSplitPane.setLeftComponent(getJPanel1());
			jSplitPane.setRightComponent(getJPanel2());
			jSplitPane.setDividerLocation(632);
		}
		return jSplitPane;
	}

	/**
	 * This method initializes jPanel1	
	 * 	
	 * @return javax.swing.JPanel	
	 */
	private JPanel getJPanel1() {
		if (jPanel1 == null) {
			jPanel1 = new XMSSmodules();
			jPanel1.setBorder(new TitledBorder("OBJECTS"));
		}
		return jPanel1;
	}
	/**
	 * This method initializes jPanel2	
	 * 	
	 * @return javax.swing.JPanel	
	 */
	private JPanel getJPanel2() {
		if (jPanel2 == null) {
			jPanel2 = new XMSSprocesses();
			jPanel2.setBorder(new TitledBorder("PROCESSES"));
		}
		return jPanel2;
	}	
    /**
     * Create the GUI and show it.  For thread safety,
     * this method should be invoked from the
     * event-dispatching thread.
     */
    static void createAndShowGUI() {
        //Make sure we have nice window decorations.
        JFrame.setDefaultLookAndFeelDecorated(true);
        //Create and set up the window.
        JFrame frame = new XMSSMainFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //Display the window.
        frame.pack();
        frame.setVisible(true);
    }
    public static void main(String[] args) {
        //Schedule a job for the event-dispatching thread:
        //creating and showing this application's GUI.
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                createAndShowGUI();
            }
        });
    }	
}  //  @jve:decl-index=0:visual-constraint="10,10"

Click here to get the full source code on Github.

Legend

                                                             Download XMSS Demo