From: Roland Haeder <roland@mxchange.org>
Date: Fri, 24 Jul 2015 09:49:30 +0000 (+0200)
Subject: Introduced updateStatus() + shutdownApplication()
X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=06ab9e5b9bde1b0a82a05b3080cfd1f337de1241;p=jfinancials-lib.git

Introduced updateStatus() + shutdownApplication()
Signed-off-by:Roland Häder <roland@mxchange.org>
---

diff --git a/Addressbook/src/org/mxchange/addressbook/client/gui/AddressbookFrame.java b/Addressbook/src/org/mxchange/addressbook/client/gui/AddressbookFrame.java
index d03358c..13e02ce 100644
--- a/Addressbook/src/org/mxchange/addressbook/client/gui/AddressbookFrame.java
+++ b/Addressbook/src/org/mxchange/addressbook/client/gui/AddressbookFrame.java
@@ -138,7 +138,7 @@ public class AddressbookFrame extends BaseFrameworkSystem implements ClientFrame
 	this.frame.setVisible(true);
 
 	// All done here
-	this.statusLabel.setText(this.getBundle().getString("AddressbookFrame.statusLabel.done.text"));
+	this.updateStatus("done");
     }
 
     /**
@@ -176,6 +176,20 @@ public class AddressbookFrame extends BaseFrameworkSystem implements ClientFrame
 	return this.isInitialized;
     }
 
+    /**
+     * Shuts down the application.
+     */
+    @Override
+    public void shutdownApplication () {
+	// To do this, the frame must be initialized
+	if (!this.isInitialized()) {
+	    // Not initalized, so bad call
+	    this.getLogger().fatal("Bad call of shutdownApplication(). Please report this.");
+	    return;
+	}
+	this.getClient().getApplication().doShutdown();
+    }
+
     /**
      * Initialize components
      */
@@ -194,7 +208,7 @@ public class AddressbookFrame extends BaseFrameworkSystem implements ClientFrame
 	    @Override
 	    public void windowClosed(final WindowEvent e) {
 		// Shutdown application cleanly
-		self.getClient().getApplication().doShutdown();
+		self.shutdownApplication();
 	    }
 
 	    /**
@@ -204,7 +218,7 @@ public class AddressbookFrame extends BaseFrameworkSystem implements ClientFrame
 	    @Override
 	    public void windowClosing(final WindowEvent e) {
 		// Also shutdown cleanly here
-		self.getClient().getApplication().doShutdown();
+		self.shutdownApplication();
 	    }
 	});
 
@@ -220,9 +234,6 @@ public class AddressbookFrame extends BaseFrameworkSystem implements ClientFrame
 	// Init menu system
 	initMenuSystem();
 
-	// Init status label (which needs to be updated
-	this.statusLabel = new JLabel(this.getBundle().getString("AddressbookFrame.statusLabel.initializing.text"));
-
 	// Init status panel
 	initStatusPanel();
     }
@@ -254,7 +265,7 @@ public class AddressbookFrame extends BaseFrameworkSystem implements ClientFrame
 	     */
 	    @Override
 	    public void actionPerformed (final ActionEvent e) {
-		self.getClient().getApplication().doShutdown();
+		self.shutdownApplication();
 	    }
 	});
 
@@ -319,6 +330,10 @@ public class AddressbookFrame extends BaseFrameworkSystem implements ClientFrame
      * Initializes status panel
      */
     private void initStatusPanel () {
+	// Init status label (which needs to be updated
+	this.statusLabel = new JLabel();
+	this.updateStatus("initializing");
+
 	// Init status bar in south
 	JPanel panel = new JPanel();
 	panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));
@@ -328,4 +343,14 @@ public class AddressbookFrame extends BaseFrameworkSystem implements ClientFrame
 	// Add panel to frame
 	this.frame.add(panel, BorderLayout.SOUTH);
     }
+
+    /**
+     * Updates status to given type
+     * 
+     * @param type Status type
+     */
+    private void updateStatus (final String type) {
+	// Set status message
+	this.statusLabel.setText(this.getBundle().getString("AddressbookFrame.statusLabel." + type + ".text"));
+    }
 }
diff --git a/Addressbook/src/org/mxchange/addressbook/client/gui/ClientFrame.java b/Addressbook/src/org/mxchange/addressbook/client/gui/ClientFrame.java
index 389e744..24bec98 100644
--- a/Addressbook/src/org/mxchange/addressbook/client/gui/ClientFrame.java
+++ b/Addressbook/src/org/mxchange/addressbook/client/gui/ClientFrame.java
@@ -53,4 +53,6 @@ public interface ClientFrame extends FrameworkInterface {
      * @return Field isInitialized
      */
     public boolean isInitialized ();
+
+    public void shutdownApplication ();
 }