this.frame.setVisible(true);
// All done here
- this.statusLabel.setText(this.getBundle().getString("AddressbookFrame.statusLabel.done.text"));
+ this.updateStatus("done");
}
/**
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
*/
@Override
public void windowClosed(final WindowEvent e) {
// Shutdown application cleanly
- self.getClient().getApplication().doShutdown();
+ self.shutdownApplication();
}
/**
@Override
public void windowClosing(final WindowEvent e) {
// Also shutdown cleanly here
- self.getClient().getApplication().doShutdown();
+ self.shutdownApplication();
}
});
// 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();
}
*/
@Override
public void actionPerformed (final ActionEvent e) {
- self.getClient().getApplication().doShutdown();
+ self.shutdownApplication();
}
});
* 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));
// 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"));
+ }
}